【VBA言語】If文についての解説【初心者向け】

【VBA言語】If文についての解説【初心者向け】

If文とは

VBAにおける「If文」は、プログラムの中で条件によって処理を分岐させるための基本的な構文です。条件式が「真」の場合に特定の処理を実行し、条件式が「偽」の場合には別の処理を実行します。これにより、プログラムがさまざまな状況に応じて異なる動作をすることができます。

「If文」の基本的な構造は次のようになります:

            If 条件式 Then
                ' 条件が真の場合の処理
            End If
        

条件式には、論理演算子を使用して複雑な条件を作成することもできます。次に例を見てみましょう。

単純なIf文

単純なIf文では、条件が「真」か「偽」かを判定して、それに応じた処理を行います。以下の例は、数値が0より大きいかどうかを判定するものです。

            Dim number As Integer
            number = 10

            If number > 0 Then
                MsgBox "数値は正です"
            End If
        

この例では、変数「number」の値が0より大きいため、「数値は正です」というメッセージが表示されます。もし「number」が0以下だった場合は、何も表示されません。

If…Else文

If文に「Else」を追加することで、条件が「偽」の場合にも実行される処理を指定することができます。これを「If…Else文」と呼びます。以下の例では、数値が正か負かを判定して、それに応じたメッセージを表示します。

            Dim number As Integer
            number = -5

            If number > 0 Then
                MsgBox "数値は正です"
            Else
                MsgBox "数値は負です"
            End If
        

このコードでは、「number」が負の値なので、「数値は負です」というメッセージが表示されます。「If文」に続く「Else」の部分は、条件が「偽」の場合に実行されます。

入れ子のIf文

If文は入れ子にすることができます。つまり、If文の中に別のIf文を記述することが可能です。これを「入れ子のIf文」と呼びます。複雑な条件を処理する際に有用です。

例えば、以下のコードでは、数値が正かつ偶数かどうかを判定しています。

            Dim number As Integer
            number = 8

            If number > 0 Then
                If number Mod 2 = 0 Then
                    MsgBox "数値は正の偶数です"
                Else
                    MsgBox "数値は正の奇数です"
                End If
            Else
                MsgBox "数値は0以下です"
            End If
        

この例では、「number」が8なので、「数値は正の偶数です」というメッセージが表示されます。もし「number」が負の値だった場合、最初のIf文で「数値は0以下です」というメッセージが表示されます。

複数条件を使ったIf文

複数の条件を組み合わせて、より複雑な条件分岐を作ることができます。これには「And」や「Or」などの論理演算子を使用します。「And」はすべての条件が真の場合にのみ実行され、「Or」はいずれかの条件が真の場合に実行されます。

以下のコードは、数値が正かつ偶数であるかどうかを判定します。両方の条件が満たされる場合にメッセージを表示します。

            Dim number As Integer
            number = 4

            If number > 0 And number Mod 2 = 0 Then
                MsgBox "数値は正の偶数です"
            Else
                MsgBox "数値は正の偶数ではありません"
            End If
        

この場合、「number」が4なので、条件を満たし「数値は正の偶数です」というメッセージが表示されます。

逆に「Or」を使うと、以下のようになります。どちらかの条件が真であれば処理を実行します。

            Dim number As Integer
            number = -5

            If number < 0 Or number > 10 Then
                MsgBox "数値は負か、10より大きい"
            Else
                MsgBox "数値は0以上10以下です"
            End If
        

この場合、「number」が-5なので、「数値は負か、10より大きい」というメッセージが表示されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です