VBAにはPythonのcontinue文に相当するものがありません。
Goto文とラベルを使うとcontinue文のような動作をさせることができます。
下記のように1から10までの中で偶数の数を
Debug.Printでイミディエイトウィンドウに表示するプログラムがあります。
1 2 3 4 5 6 7 8 9 10 |
Sub test() Dim i As Long For i = 1 To 10 If i Mod 2 = 1 Then GoTo continue Debug.Print i continue: Next i End Sub |
if i mod 2 = 1でiを2で割った時の余りを求めています。
演算子名 | 書き方 | 演算子の説明 |
mod | A mod B | AをBで割った時の余りを出す (3 mod 2は1) |
余りが0なら偶数、1なら奇数になります。
余りが1なら奇数なので、Goto文を使用して
7行目のcontinueラベルに飛ぶようにしてます。
余りが0なら偶数なのでGoto文は使用せず
Debug.print iが実行され、偶数が表示されます。
コメント