• ベストアンサー

For Next 途中で任意の値の時にstopする

任意の値の時にstopするにはどうすればいいでしょう? Sub test() Dim i As Long For i = 1 To 10 'iが3の時にストップさせたい Next End Sub ご教授よろしくお願いします。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

If i=3 then stop を書くか、 ウオッチ式でiの値が3になったら、という条件を書く

XINKIJTBVYY
質問者

お礼

ありがとうございました。

その他の回答 (3)

回答No.4

■iが3の時に処理を止めてVBEなどで状況を知りたい For i = 1 To 10 If i = 3 Then Stop Next ■iが3の時にForを抜けて、その後の処理をしたい For i = 1 To 10 If i = 3 Then Exit For Next ■iが3の時にマクロ(sub)を抜けたい For i = 1 To 10 If i = 3 Then Exit Sub Next ■iが3の時に呼び出し元も全部抜けたい For i = 1 To 10 If i = 3 Then End Next

XINKIJTBVYY
質問者

お礼

ありがとうございました。

  • tomi800
  • ベストアンサー率16% (9/54)
回答No.3

「ストップ」はどの様な状態でしょうか? 例えば、マクロの処理を10秒止める? Dim waitTime As Variant If i = 3 Then waitTime = Now + TimeValue("0:00:10") Application.Wait waitTime End If Forを抜けると言う意味ならば If i = 3 Then Exit For End If でしょうが、こうする意味は無さそうですし。。 他にも処理を抜けるのならば、下記のように Exitステートメントが使えます Exit Do Exit For Exit Function Exit Property Exit Sub 上記のどちらかが答えになっていれば良いのですが。

XINKIJTBVYY
質問者

お礼

ありがとうございました。

回答No.1

ストップとはどういうことを指してますか? 10になるまでループするのではなく、やめるということでしょうか? もしそうなら、exit forを書くことで処理をループの外に抜けます。 http://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer03/vbcheer03.html

XINKIJTBVYY
質問者

お礼

ありがとうございました。

関連するQ&A