• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のFOR~を抜けるには?)

複数のFOR~を抜けるには?

このQ&Aのポイント
  • 複数のFOR文を抜ける方法を知りたいです。
  • 上記のような場合でも'111までFor文を抜けることは可能でしょうか?
  • 具体的な方法を教えてください。

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

  • ベストアンサー
回答No.1

言語が不明ですがVBAでしょうか。。。(違っても考え方は同じだと思います。)  メソッドの呼び出し先で、呼び出し元のForループを抜ける方法はないと思います。あくまで、呼び出し側で判断しなければならないものだからです。  視点を変えてみれば、Forで繰り返し呼び出しているのに、呼び出し先で勝手にForを脱出されてしまうと、正常な処理が行えなくなります。  解決策としては、メソッドの処理が成功したか失敗したかを戻り値で判断する方法が手っ取り早くて一般的かと。 ・Sub 2 を Function にして、処理の成功時はTrueを、エラー発生時はFalseを返すようにする。 ・呼び出し元では、Falseが返されたときにForから脱出する。 呼び出し例:  For B = 1 To 6   If method2 = False Then Exit For  Next B Function method2  ' 成功時  method2 = True: Exit Function  ' エラー時  method2 = False: Exit Function End Function ※コードを簡略化するにしても、メソッド名を数値だけにすると誤読・誤解の恐れがあるのでmethod2としました。適宜置き換えてください。

kenj3e6t
質問者

お礼

どうもありがとうございました。 言語は忘れてました。すいません。 上記の様にFunctionにすることで 解決しました。 ありがとうございました。

関連するQ&A