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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) エクセルの関数で質問です。 3 2023/02/24 14:07
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
VBA "が認識されないのはなぜですか?
Excel(エクセル)
-
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
-
4
ExcelVBAで、数式を含むセルを値貼り付けしたセルをCountAで取得すると空白と認識されない
Excel(エクセル)
-
5
Excelで数式の入っているセルを空白と認識させたい
Excel(エクセル)
-
6
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
7
エクセル マクロで転記したら空白なのに何か存在する !
Excel(エクセル)
-
8
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
9
Excel VBA ピボットテーブルにて、 最終行の取得の仕方を教えてください
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
「データ要素を線で結ぶ」がチ...
-
Excel > ピボットテーブル「(空...
-
関数TRANSPOSEで空白セルを0に...
-
《Excel2000》SUMPRODUCT関数で...
-
エクセル セルのコピー元が空...
-
Excelで所定の時間前後何分以内...
-
VBAで空白行を削除する
-
VBAで空白セルにのみ数値を代入...
-
エクセルのIF関数で、隣のセル...
-
エクセルでCSVを編集するとき、...
-
エクセルで上の行の値を自動的...
-
指定したセルの下へ行を追加する
-
エクセル 空白を飛ばして前の数...
-
VLOOK関数で作った請求書で、¥...
-
(MS-Excel)「入力規則」で「リ...
-
こんにちは。Excelのことで教え...
-
【EXCEL】空白でないセルの位置...
-
エクセル 連番が途切れていると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
excel2010 空白セルにのみ貼り...
-
Excel > ピボットテーブル「(空...
-
空白セル内の数式を残したまま...
-
「データ要素を線で結ぶ」がチ...
-
エクセルで、「複数のセルの中...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
リンク先が空白若しくはゼロの...
-
エクセルで上の行の値を自動的...
-
エクセルにて負の時間を0:00と...
-
エクセルのグラフで式や文字列...
おすすめ情報