プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
VBAのfor文の中で、ある条件に合致したら、for の先頭に戻りたいのですが、
方法が分かりません。

VB.net 等の「 Continue For」に当たるものは、VBAに
ないのでしょうか?

何卒宜しくお願いします。

A 回答 (3件)

>できれば、スマートな形で、対処したいと思っています。


>※goto文しかないですかね?
一番の回答の後半部のIF~Then~Elseを使う方法でよいんじゃないでしょうか。

つまり
For ・・・
 前半の処理
 If ある条件に合致しない Then
  後半の処理
 End if
Next

ですね。
    • good
    • 0

https://www.google.co.jp/search?hl=ja&q=VBA+%22o …

これを応用するしかないかと。ちょっとひねりをくわえないと。置き換えというか、発想の逆転というか、たぶん アハ体験 が必要でしょうね

http://www.accessclub.jp/bbs5/0041/vba13131.html

http://www.accessclub.jp/vba/vba_008.htm

よくわざとエラーを発生させるか、エラーオブジェクトの作成して、エラーとして渡すなんて。
    • good
    • 0

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
    • good
    • 1
この回答へのお礼

ご連絡ありがとうございます。
VBAでは、contiune がないということですかね?

できれば、スマートな形で、対処したいと思っています。
※goto文しかないですかね?

お礼日時:2013/10/22 11:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!