前回の記事:Excel VBA スタンダード試験対策2 変数
前回に引き続き、Excel VBA スタンダードについて、公式テキストで勉強した内容をまとめる。
今回はステートメントについて。
繰り返しや条件分岐など、他のプログラミング言語でも同様の基本的な機能はExcel VBAにも備わっている。
試験対策のまとめとしてExcel VBAの基本をまとめているが、
公式テキストにはこのサイトに記載している以上により詳しく、コードの例なども掲載されている。
試験には公式テキストを元に出題される問題も存在するため、
やはり受験勉強の際はテキストを購入する方が良い。
Exit
Exitステートメントを用いることで、処理を途中で終了させることができる。
1 2 3 4 5 6 7 |
Sub Test1() Exit Sub End Sub Sub Test2() ・・・ End Sub |
プロシージャTest1の中でExitステートメントを実行しているため、Test1の処理はそれ以降実行されない。Test1が終了したため、そのままTest2が実行される。
Select Case
複数の条件を同時に判定する時に使用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Select Case X '変数Xの値が1の時に処理1を実行する Case 1 処理1 '変数Xの値が2の時に処理2を実行する Case 2 処理2 '変数Xの値が3の時に処理2を実行する Case 3 処理3 End Select '以下のような書き方もできる Select Case Y '変数Yの値が4、7、9のいずれかの場合 Case 4,7,9 処理4 End Select '以下のような書き方もできる Select Case Z '変数Zの値が100から200の場合 Case 100 to 200 End Select |
Do Loop
指定した条件に当てはまる場合、もしくは指定した条件に当てはまらない場合に、記述した処理を繰り返す機能を持つ。
条件を記述する場所によって繰り返しの前と後のどちらで判定を行うかを指定することができる。
また、条件に当てはまる場合と当てはまらない場合はそれぞれWhile Untilを用いて指定する。
以下はXの値が100未満である限り、Xに1を加え続ける。
1 2 3 4 |
Dim X As Long Do While X < 100 X=X+1 Loop |
こちらは、Xの値が101以上でない限り、Xに1を加え続ける。
1 2 3 4 |
Dim X As Long Do Until X > 100 X = X+1 Loop |
If
Ifステートメントは、指定した条件に当てはまるかどうかを判定する。
当てはまる場合と当てはまらない場合でそれぞれどのように処理を行うのかを指定することができる。
以下のコードではAの値が10の時には1を加え、そうでない場合はAに20を代入している。
1 2 3 4 5 6 7 |
Dim A As Long A =10 If A = 10 Then A=A+1 Else A=20 End If |
条件は複数指定することができる。
Orの場合は、条件1と条件2のどちらかに当てはまればその後の処理が実行され、
Andの場合は、条件1と条件2の両方に当てはまればその後の処理が実行される。
1 2 3 4 5 6 7 8 9 |
If 条件1 Or 条件2 ・・・ End If If 条件1 And 条件2 ・・・ End If |
コメント