エクセルマニア

VBAでIf~ElseIf~Elseの条件分岐

TOP > VBA・マクロ >  If~ElseIf~Elseで条件分岐
このエントリーをはてなブックマークに追加

If~ElseIf~Else ステートメント

If 条件 ~ ElseIf 条件 ~ Else ~ End If

If~は条件分岐を行う際に用いられます。他にもSelect Case~ステートメントが用意されています。

基本構文


If 条件式1 Then
    条件式1を満たした場合の処理
ElseIf 条件式2 Then
    条件式2を満たした場合の処理
Else
    条件式1と条件式2を満たさなかった場合の処理
End If

サンプルコード


現在開いているワークシートの名前を"TEST"に変更する。
Dim score As Integer
score = InputBox("テストの得点を入力してください。")
  
If score > 80 Then
    MsgBox "大変良くできました"
ElseIf score >=50 Then
     MsgBox "良くできました"
ElseIf score >=0 Then
     MsgBox "がんばりましょう"
Else
    MsgBox "0以上の数値を入力して下さい。"
End If


論理演算子 And と Or

演算子意味
条件式1 And 条件式2条件式1と条件式2の両方を満たした場合True (~かつ~)
条件式1 Or 条件式2条件式1か条件式2のいずれか1つを満たした場合True (~または~)
Not 条件式条件式を満たさない場合True

サンプルコード


Dim score As integer
score = Range("A1").Value

If 79 < score And score <= 100 Then
    Range("B1").Value = "大変良くできました"
ElseIf 49 < score And score < 80 Then
    Range("B1").Value = "良くできました"
ElseIf 0 <= score And score < 50 Then
    Range("B1").Value = "がんばりましょう"
Else
    Range("B1").Value = "???"
End If



このエントリーをはてなブックマークに追加