
No.3ベストアンサー
- 回答日時:
Excelでは「空白セル」はNullではないようです。
If Cells(I,3) = "" Then・・・
と指定すると、「空白セル」として認識されています。
「空白セル」とNull値(何も無い)セルの違いは識者のご登場待ちということで。
回答ありがとうございます。
この方法で無事できました!
前までは
**** = "" then
っていう方法をよく使ってたんですが、
これより「IsNull」を使ったほうがいいというのを
ExcelかAccessか忘れましたが、よくいわれたので
使ってたのが逆にダメだったみたいですね。
ありがとうございました。
No.5
- 回答日時:
VB、VBAでのNullは難しいですね。
余り使う場合が無いように思う(無知故か?)。APIやC言語プログラム(ポインタや文字列の終端)と関連するレベルのものを考える時に使われる?。下記テストをやって見ました。
vbNullCharとNullも違うようです。
Sub test03()
Dim x As Variant
ActiveSheet.Cells(1, 1) = IsNull(x)
ActiveSheet.Cells(1, 2) = Len(x)
x = Null
ActiveSheet.Cells(2, 1) = IsNull(x)
ActiveSheet.Cells(2, 2) = Len(x)
x = ""
ActiveSheet.Cells(3, 1) = IsNull(x)
ActiveSheet.Cells(3, 2) = Len(x)
x = vbNullChar
ActiveSheet.Cells(4, 1) = IsNull(x)
ActiveSheet.Cells(4, 2) = Len(x)
x = Chr(0)
ActiveSheet.Cells(5, 1) = IsNull(x)
ActiveSheet.Cells(5, 2) = Len(x)
x = &H0
ActiveSheet.Cells(6, 1) = IsNull(x)
ActiveSheet.Cells(6, 2) = Len(x)
End Sub
普通セルの値がDelキーを押した状態を判別するなら
=""やIsEmptyでしょうか。
ただし=""を入れて
Sub test06()
If IsEmpty(Cells(5, "c")) = True Then
MsgBox "Empty"
Else
MsgBox "NotEmpty"
End If
を実行するとNotEmptyになるので、値だけを判別しているのではなさそうです。
参考
http://www.akj.co.jp/aug/qa/ans0001-0050/0159.html
回答ありがとうございます。
詳しい説明&実験?ありがとうございました。
今回は#3の方の方法で無事解決しましたが、
時間があるときに試してみたいと思います。
ありがとうございました。
No.4
- 回答日時:
空白(未使用)セルのとき True にするのあれば、
If IsEmpty(Cells(I, 3)) Then
のようにすると良いでしょう。
If Cells(I, 3).Value = "" Then とか
If Cells(I, 3).Value = vbNullString Then
のようにすると Cells(I, 3)に「式」が設定されていて、
その演算結果がNullString("")のときも True になります。
No.1
- 回答日時:
Cellsは「Cells(行番号,列番号)」のように、行と列を数値で指定します。
列番号はA列なら1、B列なら2になります。従って「Cells(I,3)」は「セルI3」ではありません。
「Cells(I,3)」は「変数Iに入っている値の行の、C列」です。変数Iに「1」が入っていればセルC1を、変数Iに「100」が入っていればセルC100を参照します。
Cellsで「セルI3」を参照する場合は「Cells(3,9)」です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
if関数の複数条件について
-
IF関数で空欄("")の時、Null...
-
エクセルで入力すると隣のセル...
-
エクセルでCSVを編集するとき、...
-
空白セル内の数式を残したまま...
-
エクセルでセルが空白だったら...
-
【関数】=EXACT(a1,b1) a1とb1...
-
ピボットテーブルで空白セルの...
-
エクセル 連番が途切れていると...
-
形式貼り付けの「空白を無視す...
-
エクセルで上の行の値を自動的...
-
【画像あり】オートフィルター...
-
excelでA1・A2に入力が無ければ...
-
Excel > ピボットテーブル「(空...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
数式による空白を無視して最終...
-
エクセルにて負の時間を0:00と...
-
エクセル セルのコピー元が空...
-
countaで空白セルもカウントさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
【画像あり】オートフィルター...
-
エクセルでCSVを編集するとき、...
-
エクセル 連番が途切れていると...
-
Excel > ピボットテーブル「(空...
-
エクセルで入力すると隣のセル...
-
「データ要素を線で結ぶ」がチ...
-
Excelで、入力文字の後に自動で...
-
Excel:関数が入っているセルに...
-
【関数】=EXACT(a1,b1) a1とb1...
-
空白セル内の数式を残したまま...
-
ピボットテーブルで空白セルの...
-
形式貼り付けの「空白を無視す...
-
数式による空白を無視して最終...
-
関数TRANSPOSEで空白セルを0に...
-
excel2010 空白セルにのみ貼り...
-
エクセルのIF関数で、隣のセル...
-
【Excel】 Ctrl+方向キー で空...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
おすすめ情報