
いつもお世話になっております。
今回の質問は、マクロである範囲が空白であるという条件を記載するのはどうすればよいかということです。
例えば、下のマクロはA1からB2までの矩形の範囲が全くの空白であるときに、C3に3を入力するというつもりで作りましたが、
If a.Value = "" Then の行でエラーになるようです。
この空白の条件はどのように記載すればよろしいでしょうか。
Sub a()
Dim a As Range
Set a = Range(Cells(1, 1), Cells(2, 2))
If a.Value = "" Then
Cells(3, 3) = 3
End If
No.3ベストアンサー
- 回答日時:
こんばんは。
>If a.Value = "" Then の行でエラーになるようです。
これは、a が、a.Value になると、内部が配列構造になって、直接、値の比較は取れません。
厳密には、以下は、""(長さ0の文字列)の比較とは違います。これは、CountBlank とも差がありません。
Sub Test1a()
Dim rng As Range
Set rng = Range("A1:B2")
If WorksheetFunction.CountA(rng) = 0 Then
Cells(3, 3).Value = 3
End If
Set rng = Nothing
End Sub
No.2
- 回答日時:
CountBlank関数を用いて
Sub a_2()
Dim a As Range
Set a = Range(Cells(1, 1), Cells(2, 2))
If Application.CountBlank(a) = a.Cells.Count Then
Cells(3, 3) = 3
End If
End Sub
とか?
No.1
- 回答日時:
質問の条件をクリアするだけなら
一例です
Sub a()
Dim a As Range
For Each a In Range(Cells(1, 1), Cells(2, 2))
If a.Value <> "" Then Exit Sub
Next a
Cells(3, 3) = 3
End Sub
Sub a1()
Dim i As Long
Dim a As String
i = Range(Cells(1, 1), Cells(2, 2)).Count
a = Range(Cells(1, 1), Cells(2, 2)).Address
If Evaluate("COUNTBLANK(" & a & ")") = i Then Cells(3, 3) = 3
End Sub
参考程度に
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
連続する複数のセル値がすべて0であることを判定するマクロ
Visual Basic(VBA)
-
-
4
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
vbaで指定したセルより下の行を指定する方法について vbaの質問です。 例えば、「C6」セルより下
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
マクロについて質問です 範囲内のセルが空白か調べるにはどのようなプログラムになるんでしょうか? セル
Visual Basic(VBA)
-
9
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
10
excelマクロ 範囲の空白判定
USBメモリー・SDカード・フラッシュメモリー
-
11
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
12
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
13
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
16
VBA 空白セルを削除ではない方法で詰めるやり方
Visual Basic(VBA)
-
17
飛び地セルの空白判定
Visual Basic(VBA)
-
18
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
19
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
20
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
血液検査の結果が悪くefgrの値...
-
風俗店へ行く前のご飯
-
EXCELで式からグラフを描くには?
-
検便についてです。 便は取れた...
-
VLOOKUP関数を使用時、検索する...
-
尿検査前日に自慰行為した時の...
-
納豆食べた後の尿の納豆臭は何故?
-
値が入っているときだけ計算結...
-
勃起する時って痛いんですか? ...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
精子に血が・・・
-
excelでsin二乗のやり方を教え...
-
イタリアから帰国する際、肉製...
-
【Excelで「正弦波」のグラフを...
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
ExcelのVBAでフォームが表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
健否~書類の書き方~
-
VLOOKUP関数を使用時、検索する...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
エクセルで空白セルを含む列の...
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
ある範囲のセルから任意の値を...
-
精子に血が・・・
-
エクセルで数式の答えを数値と...
-
風俗店へ行く前のご飯
-
エクセル指定した範囲からラン...
-
一番多く表示のある値(文字列...
-
Excel 数値の前の「 ' 」を一括...
-
ワードのページ番号をもっと下...
-
MIN関数で空白セルを無視したい...
おすすめ情報