メインコンテンツへスキップ
VBAでcontinue文

VBAでcontinue文

·1 分
Programming VBA
かずさプログラマー
著者
かずさプログラマー
業務の作業自動化を行っています。Go、VBA、Pythonを主に使用しています。過去にはC#、VB.Net、JavaScriptも使用していました。

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 = 1iを2で割った時の余りを求めています。

演算子名 書き方 演算子の説明
mod A mod B AをBで割った時の余りを出す (3 mod 2は1)

余りが0なら偶数、1なら奇数になります。

余りが1なら奇数なので、Goto文を使用して7行目のcontinueラベルに飛ぶようにしてます。 余りが0なら偶数なのでGoto文は使用せずDebug.print iが実行され、偶数が表示されます。

関連記事

VBAの予約語をまとめました
·2 分
Programming VBA
【VBA】スタックを実装する
·5 分
Programming VBA
【VBA】月の末日を求める
·2 分
Programming VBA