サンプル画像
Excelマクロ塾メニュー

エクセルマクロ・VBAは慣れが肝心
最初は難しく感じるExcelのマクロとVBAですが、仕組みが理解できると徐々に使いこなせるようになってきます!
自分のペースで着実に勉強しましょう!

エクセルマクロ塾
エクセルマクロ塾

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)

 

次回はセルの値によって処理を変えるマクロを作成していきます。

VBA