For文でcontinueしたい(途中処理をスキップしたい)
VBAマクロを実行する際、For~NextやDo~Loopを使用する際、
条件を満たした際、ループ処理をスキップさせたい場合があります。※他言語での「Continue」
VBAには言語として用意されていない為、代替え処理としてGotoでContinueさせます。
For文でcontinueしたい(途中処理をスキップ)サンプルコード
Public Sub sample() Dim r As Long For r = 1 To 10 '■セル値が空白の場合、ループをスキップし、次の行を処理させる(Goto Continue) If Cells(r, 1) = "" Then GoTo Continue End If Continue: Next r End Sub
注意点
- ループをスキップではなく、途中で強制終了(break)したい場合はExitで処理可能です。
コメント