A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
こんにちは。
それでは、ちょっと、話を元に戻しまして、基本的なコード・パターンをこちらか提示します。
参考本はいくつかあるのですが、入門用のテキストと実践用のコードとは違います。
失礼ですが、個々の部分の問題でいくら質問されても、回答者側の技術的なレベルはエスカレートするか、回答者が放り出すだけで、現実的な解決とはかけ離れていくような感じがします。
上手く行かないときは、その部分だけの「スモール・サンプル」を抜き出してシュミレートしてみることがコツです。掲示板では、質問として与える情報が十分に与えられないのです。分かっていれば、それを提示できても、分からないから、そこは見えないわけです。
それから、Excelは、Excel VBAのスタイルがあって、VBスタイルとは違います。Excel VBAの経験が十分でない人に教わったところで、トンチンカンになるだけだと思います。ここの掲示板では、そのような人も多いです。
私は、["○"] ["1"][Empty] この三つの判定は、慣れないと難しいと思います。
簡単だと思うのは、Excel VBAが詳しくない人です。特に、数字とは何か、Empty とは何か、ということを追求していない人がほとんどです。
Basic なら簡単な問題でも、Excelでは、["1"]は、データ型のキャスティングが起きて、おそらくは、[1]になってしまいます。
こちらで、シミュレートします。
以下のコードは、簡単だと思うかもしれませんが、なぜ、Text プロパティを使うのかとか、経験ないと出来ません。普段、私は、このようなコードは書きませんが、基本的なところは押さえているつもりです。
表は、C1からの数式 =IF(ISBLANK(A2),"Empty",CODE(A2)) となっています。
// Case " ", " ": .Cells(i, 2).Value = "なし"
半角空白, 全角空白が入っています。
-----------------------------------------------
Sub Test1()
Dim i As Long
With Worksheets("Sheet1")
For i = 1 To .Range("A65536").End(xlUp).Row
Select Case .Cells(i, 1).Text
Case "1": .Cells(i, 2).Value = "いち"
Case "○": .Cells(i, 2).Value = "まる"
Case "": .Cells(i, 2).Value = "なし"
Case " ", " ": .Cells(i, 2).Value = "なし" '半角と全角の半角が併記してある
Case Else: .Cells(i, 2).Value = "その他"
End Select
Next i
End With
End Sub
No.5
- 回答日時:
こんばんは。
ご質問の内容では、何をしているのか、空のセルを探しているのか、本来の目的が分かりません。マクロの ="" というのは、長さ0の文字列と、本当のEmpty とは区別が付きません。フィルタでも、長さ0の文字列も、Empty も区別は付きません。
マクロでは、="" と一致しないというのは、どういう現象が起きているのか、こちらが当てることは不可能だと思います。とはいえ、ClearContents を使いたくないのでしたら、空白と思えるセルに対して、ワークシートの関数の=CODE(A1) のように、文字コードを取ってみればよいのではありませんか?または、LENB(A1)で長さを取ればよいと思います。
それと、まれに、シートが壊れていると、そういう現象が現れるはずです。
この回答への補足
項目に対して、"○"とか"1"とか何かしら記入されているか、何も記入されていないかを判断したいのです。
フォーマットが決まっていない不特定の既存ファイルに対応するマクロを組みたいので、ClearContentsをどう使えばよいかわかりません。
CODEはVBAではASCを使えばよいのでしょうか?
すみません。使い方がよくわかりません。
LENBはば、スペースや改行は含まれないのですか?
初心者で申し訳ありません。
よろしくお願いします。
No.4
- 回答日時:
こんばんは。
If Cells(i,j)<>Empty Then
という 'Empty'というのは、Variant 型の変数を使っていない状態のことで、ワークシート上では、あまり意味がないと思います。別に間違いではないけれども、もし、Empty を調べるなら、'IsEmpty'を使うほうがよいのですが、本当に、Empty(空)の状態にするなら、'ClearContents' を使うほうがよいのではないかと思います。「""(長さ0の文字列)」は、何も入っていない状態ではありません。
Trim は、文字の初めと終わりの空白値を取り去るわけですね。それには、数は関係がありません。
果たして、それだけで良いのでしょうか?例えば、文字列の間の空白値は取ることができません。
この回答への補足
ご説明ありがとうございます。
実は、今日試してみたのですが、Trimとreplaceで改行を除いただけでは、うまくいきませんでした。
フィルタをかけたときには、空白セルに該当するのに、なぜマクロでは""と一致しないのでしょうか。
No.3
- 回答日時:
空白(半角、全角)はTrimで取り除くことができます。
(多分、セル内改行も同時に取り除いておいた方がよいのではと思いますが…)
改行もの除くなら、
If Replace(Trim(Range("A1").Text), Chr(10), "") <> "" Then
みたいな判断を行えばよろしいかと思います。
改行は判断にいれなくてもよいのなら、Trimだけでいけるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
空白セルを空白と認識しない?
Excel(エクセル)
-
6
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
7
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
VBAでEmpty値って何ですか?
Excel(エクセル)
-
11
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
12
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
13
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
14
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
17
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
18
エクセルのマクロ(VBA)の変数でスペースを認識しません
Excel(エクセル)
-
19
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
20
エクセル関数で文字列の中のスペースの有無を調べたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
空白セル内の数式を残したまま...
-
「データ要素を線で結ぶ」がチ...
-
Excel > ピボットテーブル「(空...
-
ピボットテーブルで空白セルの...
-
Excelで、入力文字の後に自動で...
-
Excelで所定の時間前後何分以内...
-
色つき行の一括削除は?
-
エクセル 連番が途切れていると...
-
初歩的なExcelの質問となります
-
エクセルで、「複数のセルの中...
-
数式の結果が空白の時の空白扱い
-
関数TRANSPOSEで空白セルを0に...
-
SUMIFS関数で「計算式による空...
-
範囲内の列から、一番下の数値...
-
形式貼り付けの「空白を無視す...
-
Vba エクセルマクロで、 A列の...
-
Excel:関数が入っているセルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
Excel > ピボットテーブル「(空...
-
「データ要素を線で結ぶ」がチ...
-
関数TRANSPOSEで空白セルを0に...
-
Excelで、入力文字の後に自動で...
-
Excel:関数が入っているセルに...
-
色つき行の一括削除は?
-
空白セル内の数式を残したまま...
-
エクセル 連番が途切れていると...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 Ctrl+方向キー で空...
-
形式貼り付けの「空白を無視す...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
-
エクセル セルのコピー元が空...
-
エクセルで上の行の値を自動的...
おすすめ情報