Excel エクセルマクロ塾 マクロ・VBAを初心者から学ぶ
Excelマクロ塾メニュー

はじめに

エクセルマクロの基本

エクセルマクロの実践

VBAの基本

VBAの実践

マクロ・VBAの用語集

マクロ・VBAの関数一覧

基本からVBAをしっかり学びたい
初心者にはスクールがおすすめ!

アビバでは1ヶ月でマクロ・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