条件分岐(Ifステートメント)

VBA(プログラム)は、条件分岐繰り返しの組み合わせに尽きます。
確実に覚えましょう。

条件分岐は以下のような場合に使用します。

  • パチンコの時 スロットの時
  • 通常営業の時 店休日の時 新台入替の時
  • 海物語の時 海物語以外の時
  • 貸料金が4円以上の時 4円~2円以上 2円未満の時

条件分岐は 「Ifステートメント」を使用します。

ステートメントとは、マクロの動作を制御する命令です。
「Ifステートメント」以外にも繰り返しの「For~Nextステートメント」、「Do~Loopステートメント」「Select Caseステートメント」「Withステートメント」などがあります。
VBAの 最初に記述する
Sub テスト() のSubも「Subステートメント」です。

書式①
If 条件 Then 処理
例)
Sub テスト1()

  If Range(“A1”).Value = “パチンコ” Then MsgBox “これはパチンコです”

End Sub
[jin_icon_info color=”#e9546b” size=”18px”]MsgBox はメッセージをボックスを表示させるための関数です。

以下のような結果になります。

書式②
If 条件 Then

  処理

End If


例)
Sub テスト2()

  If Range(“A1”).Value = “パチンコ” Then

    MsgBox “これはパチンコです”

  End If

End Sub

以下のような結果になります。結果は書式①と同じです。

書式③
If 条件 Then

  処理1

Else

  処理2

End If


例)
Sub テスト3()
    If Range(“A1”).Value = “パチンコ” Then

    MsgBox “これはパチンコです”

  Else

    MsgBox “これはスロットです”

  End If
End Sub
以下のような結果になります。

書式④
If 条件1 Then

  処理1

ElseIf 条件2 Then

  処理2

End If


例)
Sub テスト4()

  If Range(“A1”).Value = “パチンコ” Then

    MsgBox “これはパチンコです”

  ElseIf Range(“A1”).Value = “スロット” Then

    MsgBox “これはスロットです”

  End If

End Sub
以下のような結果になります。結果は書式③と同じです。

書式① と 書式②は条件が1つの時の書き方です。
処理が簡潔場合は書式①を使いますが、通常は書式②を使います。

書式③と書式④は同じ結果ですが内容は異なります。
書式③は セルA1がパチンコ以外の場合 処理2 を実行します。
もし、セルA1に雀球が入力されている場合も「これはスロットです」となります。
Else は日本語に訳すると「そのほかの」「それ以外の」となります。
セルA1がパチンコ以外の場合ということで「これはスロットです」となります。

書式④は、セルA1がパチンコの場合 セルA1がスロットの場合 となっているため、セルA1に雀球の場合は処理が何も行われません。

Sub テスト5()

  If Range(“A1”).Value = “パチンコ” Then

    MsgBox “これはパチンコです”

  ElseIf Range(“A1”).Value = “スロット” Then

    MsgBox “これはスロットです”

  Else

    MsgBox “これはそれ以外です”

  End If

End Sub
以下のような結果になります。

このようなコードにすれば大丈夫です。

ElseIf はいくつも連続させる事で処理を分岐させる事が出来ます。
If Range(“A1”).Value = “セブン機” Then

  処理1

ElseIf Range(“A1”).Value = “羽物” Then

  処理2

ElseIf Range(“A1”).Value = “ライトミドル” Then

  処理3

ElseIf Range(“A1”).Value = “甘デジ” Then

  処理4

ElseIf Range(“A1”).Value = “権利物” Then

  処理5

ElseIf Range(“A1”).Value = “パロット” Then

  処理6

End If

しかし、実際にはこのような記述は実務では行いません。
コードが読みにくいためです。
[jin_icon_info color=”#e9546b” size=”18px”]コードが読みにくい事を「可読性が悪い」「可読性が低い」という言い方をします

条件が パチンコ か スロット、男性 か 女性 などのように2つの条件までは
「Ifステートメント」を使って、それ以上 条件がある場合は「Select Caseステートメント」を使うようにしましょう。