いつもお世話になっております。
今回の質問は、マクロである範囲が空白であるという条件を記載するのはどうすればよいかということです。
例えば、下のマクロは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)
-
マクロについて質問です 範囲内のセルが空白か調べるにはどのようなプログラムになるんでしょうか? セル
Visual Basic(VBA)
-
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
-
4
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
excelマクロ 範囲の空白判定
USBメモリー・SDカード・フラッシュメモリー
-
7
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
8
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
9
連続する複数のセル値がすべて0であることを判定するマクロ
Visual Basic(VBA)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
Excel VBAで特定の範囲の空白セルを探して行番号を表示させる方法を教えてください。
Visual Basic(VBA)
-
12
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
13
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
14
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
17
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
20
WorksheetFunction.CountBlankがエラーです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
原発不明がんで、来週入院します。
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
精子が黄色?
-
口の中に黒い血の塊
-
中出しをするとお腹が痛い・・・。
-
至急!尿検査前日にオナニーし...
-
EXCELで条件付き書式で空白セル...
-
納豆食べた後の尿の納豆臭は何故?
-
値が入っているときだけ計算結...
-
これって喉仏ですか? 私は女性...
-
舌の裏の痛みのないプツプツの...
-
EXCELで式からグラフを描くには?
-
MIN関数で空白セルを無視したい...
-
エクセル指定した範囲からラン...
-
【Excelで「正弦波」のグラフを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報