【用語集に記載の内容について】

用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。 また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。

【コードをコピーして実行する場合の注意】

文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。

Ifステートメント

名称Ifステートメント
説明
条件分岐を表す命令です。

二値を判定する場合は、Ifステートメントを使用します。
二値とは、「〇〇か、そうでないか」という2つの値です。
二値の判定とは、「〇〇なら処理1、〇〇でなければ処理2」という判定です。

【比較】
二値以外の条件分岐は、Select Caseステートメントを使用して、「〇〇なら処理1」「××なら処理2」「△△なら処理3」…というように複数の条件を記述します。
書式
【単一条件の書式①】
If 条件 Then 処理

条件が正しいときに処理を実行し、正しくないときは何もしません。
End IFは不要です。
この書式は1行なので、1つの処理しか指定できません。

【単一条件の書式②】
If 条件 Then
    処理
End If

条件が正しいときに処理を実行し、正しくないときは何もしません。
この書式は、処理を複数行に渡って記述できるので、複数の処理を指定できます。

【二値の判定】
If 条件 Then
    処理1
Else
    処理2
End If

条件が正しいときに処理1を実行し、正しくないときに処理2を実行します。
この書式は、処理を複数行に渡って記述できるので、複数の処理を指定できます。
コード例①
【単一条件:1行で記述】
Sub Macro1()
    Dim num As Integer
    num = 10

    If num > 5 Then MsgBox "numは5より大きいです"
End Sub

<変数numの値が5より大きい場合>
「numは5より大きいです」のメッセージボックスを表示します。

実行すると、変数numの値は10なので、メッセージボックスが表示されます。
コード例②
【二値の判定】
Sub Macro2()
    Dim num As Integer
    
    num = 3
    If num > 5 Then
        MsgBox "numは5より大きいです"
    Else
        MsgBox "numは5以下です"
    End If
End Sub

<変数numの値が5より大きい場合>
「numは5より大きいです」のメッセージボックスを表示します。

<変数numの値が5以下の場合>
「numは5以下です」のメッセージボックスを表示します。

実行すると、変数numの値は3なので、「numは5以下です」のメッセージボックスが表示されます。
コード例③
【複数条件をAnd演算子で記述】
Sub Macro3()
    Dim num As Integer

    num = 15
    If num >= 10 And num <= 20 Then
        MsgBox "numは10以上、20以下です"
    End If
End Sub

【Ifステートメントをネストして複数条件(And)を記述】
Sub Macro4()
    Dim num As Integer

    num = 15
    If num >= 10 Then
        If num <= 20 Then
            MsgBox "numは10以上、20以下です"
        End If
    End If
End Sub

Macro3は、And演算子を使用して複数条件を判定します。

Macro4は、Ifステートメントをネストして、複数条件を判定します。(ネストとは、1つのFor…Nextステートメントの中に別のFor…Nextステートメントを入れることを指します。)

記述方法は異なりますが、Macro3とMacro4の実行結果は同じです。

<変数numの値が10以上、かつ20以下の場合>
「numは10以上、20以下です」のメッセージボックスを表示します。

実行すると、変数numの値は15なので、メッセージボックスが表示されます。
コード例④
【複数条件をOr演算子で記述】
Sub Macro5()
    Dim num As Integer

    num = 11
    If num < 1 Or num > 10 Then
        MsgBox "範囲外の数です"
    End If
End Sub

【複数のIfステートメントで、複数条件(Or)を記述】
Sub Macro6()
    Dim num As Integer

    num = 11
    If num < 1 Then
        MsgBox "範囲外の数です"
    End If
    
    If num > 10 Then
        MsgBox "範囲外の数です"
    End If
End Sub

Macro5は、Or演算子を使用して複数条件を判定します。

Macro6は、複数のIfステートメントで、複数の条件を判定します。

記述方法は異なりますが、Macro5とMacro6の実行結果は同じです。

<変数numの値が1より小さい、または10より大きい場合>
「範囲外の数です」のメッセージボックスを表示します。

実行すると、変数numの値は11なので、メッセージボックスが表示されます。
カテゴリベーシック・スタンダード