ExcelのVBAのIF文のサンプルです。
目次
if文
| If (条件) Then 処理 ElseIf (条件) Then 処理 Else 処理 End If |
- 条件がtrueの場合、配下の処理が実行され、if文の処理は終了します。
- 条件がfalseの場合、配下の処理は実行されず、その下(ElseIf/Else)に進みます。
- ElseIf は1つ以上記述できます。省略可。
- Elseの配下の処理は、どの条件もtrueでなかったときに実行されます。
- Elseは1つのみ記述できます。省略可。
コード
サンプルのコードです。
8,9行目のElseIfの条件式を満たすので5が表示されます。
9行目のようにネスト構造も可能です。
Sub test1()
Dim num As Integer
num = 5
If num > 10 Then
MsgBox "10より大きい"
ElseIf num > 1 Then
If num = 5 Then
MsgBox "5" ' 5が表示される
End If
Else
MsgBox "それ以外"
End If
End Sub
比較演算子
上記コードの=は比較演算子です。
比較演算子は、2つの値を比べて真偽値(true/false)を返します。
条件を満たしていればtrue,そうでない場合はfalseです。
| 比較演算子 | 説明 |
|---|---|
| a = b | aとbの値は等しい |
| a <> b | aとbの値は等しくない |
| a > b | aはbより大きい |
| a >= b | aはbより大きい または 等しい |
| a < b | aはbより小さい |
| a <= b | aはbより小さい または 等しい |
And演算子
If文でAND演算子を使用する場合、
AND演算子の左の式と右の式の両方が条件に合致する場合にtrueになります。
コード
5行目は、1より大きく10より小さい場合にtrueになります。
→OKが表示されます。
Sub test1()
Dim num As Integer
num = 7
If (num > 1) And (num < 10) Then
MsgBox "OK" 'OKが表示される
Else
MsgBox "NG"
End If
End Sub
Or演算子
If文でOR演算子を使用する場合、
OR演算子の左の式または右の式のどちらかが条件に合致する場合にtrueになります。
コード
5行目は、1または2の場合にtrueになります。
→OKが表示されます。
Sub test1()
Dim num As Integer
num = 2
If (num = 1) Or (num = 2) Then
MsgBox "OK" 'OKが表示される
Else
MsgBox "NG"
End If
End Sub
関連の記事
Excel VBAのSelect Case文のサンプル
Excel VBAのFor文のサンプル
Excel VBAのDo Loop文のサンプル
Excel VBAのFor Each文のサンプル
Excel VBAの変数の宣言を強制するサンプル
Excel VBAのデータ型
Excel VBA セルを指定して値を設定/取得するサンプル
Excel VBA セルの値をテキストに出力するサンプル