「vba もし空白ならばa1空白でないならb1」
といった検索キーワードでアクセスがありました。
おそらく、Excel VBAの学習を始めたばかりの方による検索でしょう。
「vba もし空白ならばa1空白でないならb1」
という検索キーワードでは、何が空白なのか、A1やB1はおそらくセルのことだと思うのですが、A1セル・B1セルをどうしたいのかがわかりませんが、参考になりそうなコードをご紹介しておきます。
もし空白ならばA1セル、空白でないならB1セルを処理するサンプルマクロ
以下のマクロ(Subプロシージャ)を標準モジュールに作成して、アクティブシートでA1セルやB1セルではないセルを選択しておいてから、ステップ実行してください。
Dim txt As String
txt = "sample data"
If txt = "" Then
Range("A1").Select
Range("A1").Value = "空白です!"
Else
Range("B1").Select
Range("B1").Value = "空白ではありません。"
End If
ステップ実行は、拙著『いちばんやさしいExcelVBAの教本』でも解説しているとおりショートカットキー[F8]を使うのが便利です。
サンプルマクロをステップ実行したときの挙動
変数txtは、以下の行を実行後には空白ではありませんから、
txt = "sample data"
必ず以下の処理に入ります。
Else Range("B1").Select Range("B1").Value = "空白ではありません。"
B1セルが選択され、B1セルに文字列「空白ではありません。」と入力されます。
つづいて、
txt = "sample data"
の行の先頭に「'」を入力し、コメントアウトしてから、再度ショートカットキー[F8]でステップ実行してください。
こんどは変数txtに値を入力していませんから、空白であるため、必ず以下の処理に入ります。
If txt = "" Then Range("A1").Select Range("A1").Value = "空白です!"
A1セルが選択され、A1セルに文字列「空白です!」が入力されます。
Home » エクセルマクロ・Excel VBAの使い方 » VBAで、もし空白ならばA1セルを、空白でないならB1セルを