今回は最も使用する制御文と言っていいほど重要なIf文について解説していきます!
If文とは条件分岐させるための制御文で、
MsgBoxのOKが押されたら処理続行、キャンセルが押されたら処理終了、みたいな感じに処理を分岐させることができます。
Private Sub CommandButton1_Click() If MsgBox("処理を続行しますか?", vbOKCancel) = vbCancel Then MsgBox "処理中断" Else MsgBox "処理続行!" End If End Sub
キャンセルを押した場合
キャンセル以外を押した場合(Else)
このように分岐させることができます。
ElseはIfで指定した条件にあてはまらない場合に処理されるものになります。
If~ElseIf
条件を他にも設定したい場合はElseIfを使って記述します。
Private Sub CommandButton1_Click() Dim num As Long num = Range("A2").Value If num < 5 Then MsgBox "入力された数字は5より小さいです。" ElseIf num > 5 Then MsgBox "入力された数字は5より大きいです。" Else MsgBox "入力された数字は5です。" End If End Sub
セルA2に入力された数字によって処理を分岐させるプログラム
複数条件
また、And, ORを使うことによって1つの式に複数の条件を指定することもできます。
Private Sub CommandButton1_Click() Dim num As Long num = Range("A2").Value If num = 1 Or num = 2 Then MsgBox "入力された数字は1か2です。" ElseIf num >= 3 And num <= 5 Then MsgBox "入力された数字は3~5です。" End If End Sub
If num = 1 Or num = 2 Then
Orを使うことによって、num変数が1又は2の時にtrueとなります。
ElseIf num >= 3 And num <= 5 Then Andはnum変数が3以上 かつ 5以下の場合にtrueとなります。
このように組み合わせていけば様々な条件を作ることが可能です!
本当によく使うものなので、しっかり覚えてくださいね!