IF文を使用すると「もし~ならば〇を実行し、そうでなければ×を実行する」というような条件判断ができます。
IF文の終わりには必ずEnd Ifが必要です。
構文:
If 条件式 Then
条件式が真(True)の場合に実行する処理
Else
条件式が偽(False)の場合に実行する処理
End If
複数条件の場合の構文:
If 条件式A Then
条件式Aが真(True)の場合に実行する処理
Else If 条件式B Then
条件式Bが真(True)の場合に実行する処理
Else If 条件式C Then
条件式Cが真(True)の場合に実行する処理
…
Else
条件式が偽(False)の場合に実行する処理
End If
● If Then End If の使用例
Else文を使用しなければ「もし~ならば〇を実行する」になります。
Sub MyIf()
Dim s As String
s = InputBox("1~9を入力してください", "入力")
If s = "1" Then
MsgBox "1が入力されました。"
End If
End Sub
実行すると下のInput BOXが表示されるので「1」を入力します。
「If s = "1" Then」で真(True)と判定され、MsgBoxが表示されます。
● If Then Else End If の使用例
「もし~ならば IfとElseの間 を実行し、そうでなければ ElseとEndIfの間 を実行します。
Sub MyIf()
Dim s As String
s = InputBox("1~9を入力してください", "入力")
If s = "1" Then
MsgBox "1が入力されました。"
Else
MsgBox "1以外が入力されました。"
End If
End Sub
実行しInputBoxに「5」を入力します。
「If s = "1" Then」で偽(False)と判定され、以外のMsgBoxが表示されます。
● If Then ElseIf Else End If の使用例
ElseIFを使うといくつでも条件を設定できます。
ただしあまり多すぎるとバグ発生の元になり、デバッグも大変になります。
Sub MyIf()
Dim s As String
s = InputBox("1~9を入力してください", "入力")
If s = "1" Then
MsgBox "1が入力されました。"
ElseIf s = "2" Then
MsgBox "2が入力されました。"
ElseIf s = "3" Then
MsgBox "3が入力されました。"
ElseIf s = "4" Then
MsgBox "4が入力されました。"
ElseIf s = "5" Then
MsgBox "5が入力されました。"
Else
MsgBox "1~5以外が入力されました。"
End If
End Sub
実行しInputBoxに「3」を入力します。
「ElseIf s = "3" Then」で真(True)と判定され、MsgBoxが表示されます。