EXCELではワークシート上でもよくif文を使いますよね。
VBAでも同様、かなり活躍する機能です。
本記事では、「VBAでif~文を使って条件分岐する方法」について解説します。
1.if文の構文
こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。
まずは構文から見ていきましょう。
if文は以下のような基本構文となっています。
if 条件式 then
条件式を満たすときの処理
Else
条件式を満たさないときの処理
End if
条件式を満たさないときに何も処理をしない場合にはElseの部分は省略することもできます。
if 条件式 then
条件式を満たすときの処理
End if
また、条件式を複数持たせた場合、Else ifを使うことも可能です。
if 条件式1 then
条件式1を満たすときの処理
Elseif 条件式2 then
条件式2を満たすときの処理
Else
条件式1、2を満たさないときの処理
End if
2.条件式の作り方
よく使われる条件式を見てみましょう。
- 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やORを使うことも可能です。
3.if文を使った例
これまでの内容を踏まえてif文を使ったVBAコードの例を作ってみました。
A1セルの値をa、B1セルの値をbとして大きさを比較し、その結果によってどちらが勝ち(大きい)か、同じ場合にはあいこと判断するような内容です。
その結果をメッセージボックスに表示させています。
Sub 条件分岐()
a = Cells(1, 1).Value
b = Cells(1, 2).Value
If a = b Then
MsgBox "あいこ"
ElseIf a > b Then
MsgBox "aの勝ち"
Else
MsgBox "bの勝ち"
End If
End Sub
結果は以下です。
aとbは乱数(=RAND())を発生させています。
メッセージボックスに表示された結果も合っていますね。
4.まとめ
本記事では、「VBAでif~文を使って条件分岐する方法」について解説しました。
ワークシート上で使うときと記述方法が違いますが、違いを押さえて使いこなしましょう!