• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vba While ~ Wendは抜ける方法はないのですか?)

VBAでのWhile文の途中での抜け方

このQ&Aのポイント
  • VBAのWhile文で途中で抜ける方法はありませんか?
  • 現在、While文を使用していますが、途中で抜けたいと考えています。
  • While文とWend文を組み合わせて使用していますが、エラーが発生してしまいます。Exit Sub文を使用するとエラーは解消されますが、While文の途中で抜ける方法はないのでしょうか?また、While文の使用について、ネット上で議論されていることがあるようですが、現在はあまり使用しない方が良いのでしょうか?

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

  • ベストアンサー
  • nza49739
  • ベストアンサー率46% (29/62)
回答No.1

Exit Do を利用する場合は、do whileが必須です。 While ~ Wendがあるのは過去からの互換性の確保のためのようです。ということは、将来は利用できなくなるという意味です。 While ~ Wendで抜ける場合は、goto文を使って抜けます。 例 While a<>0 if b = 0 then goto WNext (ループ内の処理) Wend WNext: (次の処理) あと、While~Wendをdo whileに置き換えるには一括置換で置き換えればいいので、別段時間がかかることはないと思いますよ。

ijuhyg
質問者

お礼

将来は利用できなくなるのですね。 なるべく使わないように心がけます。 それに一括置換で対応できそうです。 有難うございました。

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

>やはりWhile ~ Wendでは途中で抜けられないのでしょうか? 抜けられますよね????????????????? >検索したところ >http://questionbox.jp.msn.com/qa2600400.html >がヒットしたのですが リンク先は見たんですよね? 答えが出てると思うのですが? >出来れば途中で抜ける方方が知りたいです。 Sub test1() Dim i As Long, j As Long  While i < 5        If j = 1 Then i = 5    i = i + 1    Wend ’続きの処理 End Sub ですがダメなの? 参考?まで

ijuhyg
質問者

お礼

例えが悪かったです。有難うございました。

  • 2kaku34
  • ベストアンサー率30% (101/329)
回答No.2

プログラムのことは、よく分かりませんが。(とくに文法) 初期値は、どうなっているのですか? 変数 i と j との関連が分かりません。 変数 j は、変化しないのですか?たとえば偶数とか、奇数とか。i*2j とか。 i = 1 : j = 100 While i < 5 If j = 0 Then Exit Do Ans = i * 2;guusuu If j = 0 Then Exit Do printf("変数ans = %d" , ans); total = Toal + ans i = i + 1 j = J - 2 Wend printf("変数total = %d" , total);

ijuhyg
質問者

お礼

すいません。多分例えが悪かったです。 有難うございました。