- ベストアンサー
VBAでfor文の中で、continueしたい
お世話になります。 VBAのfor文の中で、ある条件に合致したら、for の先頭に戻りたいのですが、 方法が分かりません。 VB.net 等の「 Continue For」に当たるものは、VBAに ないのでしょうか? 何卒宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (2)
- foomufoomu
- ベストアンサー率36% (1018/2761)
>できれば、スマートな形で、対処したいと思っています。 >※goto文しかないですかね? 一番の回答の後半部のIF~Then~Elseを使う方法でよいんじゃないでしょうか。 つまり For ・・・ 前半の処理 If ある条件に合致しない Then 後半の処理 End if Next ですね。
- lupin-333333
- ベストアンサー率31% (294/933)
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 よくわざとエラーを発生させるか、エラーオブジェクトの作成して、エラーとして渡すなんて。
お礼
ご連絡ありがとうございます。 VBAでは、contiune がないということですかね? できれば、スマートな形で、対処したいと思っています。 ※goto文しかないですかね?