VBAの条件判定処理を紹介します。
概要
VBA (Visual Basic for Applications)で条件判定をする場合はIf文を用います。
書式
条件式が真(true)である場合はThen以降の処理が実行されます。
If 条件式 Then ...処理 Else ...処理
条件式が真(true)である場合はThen以降の処理が、条件式が偽(false)である場合はElse以降の処理が実行されます。
If 条件式 Then
...処理
...処理
End If
条件式が真(true)の場合はThen~End Ifブロック内の処理が実行されます。
if 条件式 Then
...処理
...処理
Else
...処理
...処理
End If
条件式が真(true)の場合は条件式直後のThenブロック内の処理が、条件式が偽(false)の場合はElse直後のブロック内の処理が実行されます。
if 条件式 Then
...処理
...処理
ElseIf 条件式 Then
...処理
...処理
Else
...処理
End If
条件式が真(true)の場合は条件式直後のThenブロック内の処理が、条件式が偽(false)の場合はElseIfの条件式の判定が実行され、真(true)ならばElseIf直後のThenブロック内の処理が実行されます。ElseIfの条件式も偽(false)であった場合はElse直後のブロック内の処理が実行されます。
プログラム例
Excelでシートにボタンを配置し、ボタンがクリックされた際に実行されるマクロに下記のコードを記述します。
コード
Sub Button1_Click()
Dim a As Integer
a = Cells(2, 2).Value
If a > 10 Then
Cells(5, 2).Value = "10より大きいです"
Else
Cells(5, 2).Value = "10以下です"
End If
End Sub
解説
2行2列目のセルに入力された値を数値として変数
a
に代入します。
変数
a
の値が10より大きければ、5行2列目のセルに「10より大きいです」の文字列を表示します。そうでない場合(変数
a
の値が10以下の場合)は5行2列目のセルに「10以下です」の文字列を表示します。
実行結果
Excelシートで、B2のセルに"3"を入力します。入力後、配置したボタンをクリックします。
ボタンをクリックすると、B5セルに「10以下です」の文字列が表示されます。
B2のセルの値を"12"にします。変更後ボタンをクリックします。
B5セルに「10より大きいです」の文字列が表示されます。
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2023-12-11
作成日: 2018-08-31