関数でも多用するIFですが、VBAでそれ以上に多用します笑
詳しく解説します。
目次
基本的には関数とほぼ一緒
If 条件式 Then 条件を満たす場合の動作
Else
条件を満たさなかった場合の動作
End If
基本的には↑のように使います。
ここで勘違いしてはいけないのが、絶対に↑のような形式にしないといけないわけではないという点です。
IF文めちゃくちゃ柔軟なんです。
例えば
Sub test()
If Range("A1") = 1 Then
MsgBox "OK"
If Not Range("B1") = 1 Then
MsgBox "NO"
If Range("C1") = 1 And Range("D1") = 1 Then
MsgBox "GOOD"
End If
End If
End If
End Sub
↑これを見てください。
何でもありでしょ笑
ちょっと解説すると
1つ目のIFはA1が1だったらOKというメッセージを流すというものなんですが、その中にもIFがあるわけです。
この2つ目のIFは、A1が1という前提で、B1はが1でない(IFNOTだから)場合は、OKの後にNOというメッセージを表示させます。
でさらに、もう一つIFが入ってます。
3つ目のIFは、A1が1であるかつB1が1でないという前提のもと、C1とD1が1であればGOODというメッセージを表示させるというものです。
もうめちゃくちゃですよね。
ちゃんとEnd Ifしておけば許される
IF文のポイントはEnd Ifです。
とにかくこれを忘れてエラーになることが多いです。
IF1つに対してEndIfも1つ必須です。
絶対に忘れないでください。
これさえ守れば他はゆるゆるです。
基本的な演算子
比較演算子 | 意味 |
---|---|
A > B | AはBよりも大きい |
A >= B | AはB以上 |
A < B | AはBよりも小さい |
A <= B | AはB以下 |
A = B | AはBと等しい |
A <> B | AとBは等しくない |
論理演算子 | 意味 |
---|---|
A And B | AかつB |
A Or B | AまたはB |
Not A | Aではない |
この辺りは覚えておきましょう。
他でも使います。
おわり
IF文は簡単なうえ、非常に柔軟でなんでも使えます。
困ったらIF文でOKといっていいでしょう。
ただ可読性が悪くなる場合があるので、できるだけコンパクトに書くよう心がけると後から助かりますよ。
コメント