EXCELのVBAでif文を使って条件分岐する方法!

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~文を使って条件分岐する方法」について解説しました。

ワークシート上で使うときと記述方法が違いますが、違いを押さえて使いこなしましょう!