- Home ›
- Excel VBA入門 ›
- 条件分岐 ›
- HERE
条件が満たされない場合の処理
先ほどの例ではif文の条件式が「True」になる場合の処理だけを記述していましたが、同じ条件式で条件が満たされなかった場合に行われる処理を記述することも可能です。
構文は下記の通りです。
If 条件式 Then (条件式がTrueの時に行う処理1) (条件式がTrueの時に行う処理2) Else (条件式がFalseの時に行う処理1) (条件式がFalseの時に行う処理2) End If
基本的な構文は同じですが、条件式が「False」の場合に行う処理を「Else」の後に記述します。またこの場合には条件式が「True」の場合に行われる処理は「If」の行から「Else」の行までの間に記述します。
まず例で見てみましょう。変数xの値が10より大きい場合にセルに「大きい」と表示し、10よりも小さい場合には「小さい」と表示する場合には次のように記述します。
Dim x As Integer x = 8 If x > 10 Then Range("A1").Value = "大きい" Else Range("A1").Value = "小さい" End If
今回の場合、変数「x」には「8」という数値が格納されています。その為条件式は「False」となりますので「Range("A1").Value = "小さい"」が実行されることになります。
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Dim x As Integer Dim y As Integer x = 12 y = 8 If x > 10 Then Range("A1").Value = "変数xは10より大きい" Else Range("A1").Value = "変数xは10より小さい" End If If y > 10 Then Range("A2").Value = "変数yは10より大きい" Else Range("A2").Value = "変数yは10より小さい" End If End Sub
上記のマクロを実行すると次のようになります。
変数「x」に対するの条件判定は「True」となり、変数「y」に対するの条件判定は「False」となるため、それぞれ対応した処理が行われます。
( Written by Tatsuo Ikura )