If ~ Then
前回の条件分岐の項目でIf ~ Thenステートメントの使い方について説明しました。
今回は複数の条件があるとき、If ~ Thenステートメントを使いどのように処理していくのかを順番に説明していきます。
複数の条件がある場合
条件が複数あるときには、If ~ Thenステートメントの中に「ElseIf」というものが入ります。
ElseIfの使い方の例として
「セルA1の値が5のときは文字を青くし、10のときは赤くする。」
というとき、1つ目の条件は「If Range ("A1").Value = 5 Then」となり、次の条件では「ElseIf Range("A1").Value = 10 Then」となります。
If ~ Thenステートメント + ElseIf
If ~ ThenステートメントとElseIfについてを図に表してみます。
If [ 条件1 ] Then
[ 1つめの処理 ]
ElseIf [ 条件2 ] Then
[ 2つ目の処理 ]
End If
[ 3つめの処理 ]
このように2つの条件と3つのパターンの処理を行うことになります。
[ 条件1 ] ⇒ 合う ⇒ [ 処理3 ]
⇒ 合わない ⇒ [ 条件2 ] ⇒ 合う ⇒ [ 処理2 ] ⇒ [ 処理3 ]
⇒ 合わない ⇒ [ 処理3]
流れとしては上のようになります。
If ~ Then ElseIf
これまでの説明で条件分岐ではIf ~ Thenステートメントを使い、セルの値の比較を行ったりしてきました。
ElseIfの入ったIf ~ ThenステートメントをVBAで表すとこのようになります。
If Range("A1").Value = 1 Then
Range("A2").Value = 5
ElseIf Range("A1").Value = 3 Then
Range("A2").Value = 3
End If
Range("A3").Value = 10
セルA1の値が1でなければ、次の条件に合うか調べます。(ElseIf ~)
セルA1の値が1でなかったとき、もしもセルA1の値が3であれば、以下の処理を実行します。
(Range("A2").Value = 3)
次回はセルの値によって処理を変えるマクロを作成していきます。