• ベストアンサー

VBAでfor文の中で、continueしたい

お世話になります。 VBAのfor文の中で、ある条件に合致したら、for の先頭に戻りたいのですが、 方法が分かりません。 VB.net 等の「 Continue For」に当たるものは、VBAに ないのでしょうか? 何卒宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • emsuja
  • ベストアンサー率50% (1065/2116)
回答No.1

Continue For は昔の VB6 までに物には実装されていませんね VB6 使いの私は知らなかった for の先頭に戻りたいのではなく、 Next の直前に飛びたいのですよね? 幸いにも VBA には Goto ステートメントがありますので Sub Sample1() For i = 1 To 10 If 意除外条件 Then GoTo Next_no_mae 通常の総理 Next_no_mae: Next i End Sub じゃダメですか? これなら For の直後に飛ぶ事も可能ですが もしくはこれぐらいしか対処方法はないのでは? Sub Sample2() For i = 1 To 10 If 除外条件 Then Else 通常の総理 End If Next i End Sub

kgyqk433
質問者

お礼

ご連絡ありがとうございます。 VBAでは、contiune がないということですかね? できれば、スマートな形で、対処したいと思っています。 ※goto文しかないですかね?

その他の回答 (2)

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.3

>できれば、スマートな形で、対処したいと思っています。 >※goto文しかないですかね? 一番の回答の後半部のIF~Then~Elseを使う方法でよいんじゃないでしょうか。 つまり For ・・・  前半の処理  If ある条件に合致しない Then   後半の処理  End if Next ですね。

回答No.2

https://www.google.co.jp/search?hl=ja&q=VBA+%22on+error%22+re&lr=lang_ja#hl=ja&lr=lang_ja&psj=1&q=VBA+%22on+error%22+Resume&tbs=lr:lang_1ja これを応用するしかないかと。ちょっとひねりをくわえないと。置き換えというか、発想の逆転というか、たぶん アハ体験 が必要でしょうね http://www.accessclub.jp/bbs5/0041/vba13131.html http://www.accessclub.jp/vba/vba_008.htm よくわざとエラーを発生させるか、エラーオブジェクトの作成して、エラーとして渡すなんて。