条件分岐とIFステートメントの基本
VBAを扱っているとセルの内容や、コード上で取得した内容により、処理を変更したいことがあると思います。
「はい」の場合にはこの処理、「いいえ」の場合にはこの処理、「A列が◯」の場合はこの処理、など変更することができます。
条件の例
「はい」「いいえ」と選択肢が分かれる
A列が「東京都」である
A列が空白である
こうした条件に応じた処理を設定するのが、IFステートメントです。
IFステートメントの構造
IFステートメントの基本的な使い方は次の通りです。
If 条件 Then
条件が正しい場合の処理
Else
条件が正しくない場合の処理
End If
条件が「正しい場合」と「正しくない場合」で、それぞれ異なる動作を設定できます。
処理の部分に動作させたいコードを入力します。
また、「正しい場合」だけ処理する場合(正しくない場合の処理が不要の場合)は、Else
以降を省略することも可能です。
※Elseと正しくない場合の処理の部分、End Ifは省略できない。
例:背景色を条件で分ける
以下のコードは、MsgBox関数を使い、「はい」または「いいえ」の選択に応じてセルA1の背景色を変更する例です。
r = MsgBox("背景色を赤色にしますか?", Buttons:=vbYesNo, Title:="色の設定")
If r = vbYes Then
Cells(1, 1).Interior.Color = RGB(255, 0, 0) ' 赤色
Else
Cells(1, 1).Interior.Color = RGB(128, 128, 128) ' グレー
End If
このコードでは、
- 「はい」を選択した場合:セルA1の背景色が赤色に設定されます。
- 「いいえ」を選択した場合:セルA1の背景色がグレーに設定されます。
まとめ
IFステートメントは、処理を条件によって分けることができます。
さまざまな条件を設定することができ、今回紹介したものや「セルの値が空白である」や「特定の文字列を含む」など、さまざまな場面で利用することができます。
ただし、「マクロの記録」ではIFステートメントを記録することはできません。
VBAコードを自分で書くことができる方だけが使えるもので、プログラムの幅が広がりますので、ぜひ覚えていきましょう。
また、条件分岐に加えて「繰り返し処理」などもマクロ作成において非常に重要な要素です。これらをしっかり習得し、マクロを使いこなしていきましょう!
コメント