VBAにはPythonのcontinue文に相当するものがありません。
Goto文とラベルを使うとcontinue文のような動作をさせることができます。
下記のように1から10までの中で偶数の数をDebug.Printでイミディエイトウィンドウに表示するプログラムがあります。
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が実行され、偶数が表示されます。
