If文を利用した条件判定処理 (If文の書式) - VBA

VBAの条件判定処理を紹介します。

概要

VBA (Visual Basic for Applications)で条件判定をする場合はIf文を用います。

書式

If 条件式 Then ...処理
条件式が真(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
iPentec all rights reserverd.