[Excel2013 で VBA] 条件文の書き方

If 文においては、「条件文」の記述がポイントになる。
本ページでより複雑な条件文の書き方を学ぶ。

関係演算子

前ページでは主に 「ある数 x を 2 で割った余りが 0 に等しいか」を考え、
それをプログラムで「If x Mod 2 = 0 Then」と記述することを学んだ。
この例では 「『等しい』ことを『=』で表現する」点が重要である。

条件文では、「等しい」以外にも様々な数の関係を表現しなければならないことがしばしばある。

VBA において「等しい」「大きい」「小さい」等を表す関係演算子とその利用法を以下にまとめる。

意味 記号 使用例 使用例の意味
等しい = If x = 5 Then もし x が 5 に等しかったら
大きい > If x > 5 Then もし x が 5 より大きかったら
小さい < If x < 5 Then もし x が 5 より小さかったら
以上 (大きいか等しい) >= If x >= 5 Then もし x が 5 以上だったら
以下 (小さいか等しい) <= If x <= 5 Then もし x が 5 以下だったら
等しくない <> If x <> 5 Then もし x に 5 等しくなかったら


And、Or の利用

前項の関係演算子を利用すれば様々な数字の関係を表現できるが、 より複雑な条件文が必要になることもある。

例えば「x が正の数であり、なおかつ 2 の倍数である場合」などは ここまでの知識では表現できない。

そのような場合は「And (かつ)」、「Or (または)」を利用すると良い。

意味 記号 使用例 使用例の意味
かつ And If x > 0 And x Mod 2 = 0 Then x が正の数であり、なおかつ 2 の倍数である場合
または Or If x Mod 2 = 0 Or x Mod 3 = 0 Then x が 2 の倍数であるか、または 3 の倍数である場合

他にも Not (否定)、Xor (排他的論理和) などがあるが、詳細は教科書を参照して欲しい。



←If 文および If〜Else 文For 文による繰り返し→

Excel 2013 で学ぶ Visual Basic for Applications (VBA)に戻る