• ベストアンサー

VBA コードを中断するには?

下記コードにて、 aaaを実行し、Exit Subのところで実行そのものを終了させたいのですが、このままだとcccのコードが実行されてしまいます。 Exit Subのところをどう変更すればよいのでしょうか? Sub aaa() bbb ccc End Sub Sub bbb()  略  Exit Sub  ←ここをどう書けば良いですか?  略 End Sub Sub ccc()  略 End Sub

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

END(場合によってはStop)のステートメントを考えれば(入れれば)よいのでは。

VitaminBB
質問者

お礼

回答ありがとうございます。 うまくいきました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

グローバル変数でフラグを作って、Sub bbbでExitする前にフラグを立てます。そして、Sub aaaでcccを呼ぶところをIF文でフラグが立っていたらcccを実行するようにしたらどうでしょうか?

VitaminBB
質問者

お礼

回答ありがとうございます。

すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 bbbをFunctionプロシージャにして、終了の仕方に応じた値を返すようにしてはどうでしょうか? Sub aaa()   Dim flg As Long   flg = bbb   If flg = 0 Then     ccc   End If End Sub Function bbb() As Long   略   If 中断条件 Then     bbb = 1     Exit Function   End If   略   bbb = 0 End Function Sub ccc()   略 End Sub

VitaminBB
質問者

お礼

回答ありがとうございます。

すると、全ての回答が全文表示されます。
  • sacoman
  • ベストアンサー率56% (33/58)
回答No.1

Sub aaa() bbb Exit Sub '←コレ ccc End Sub aaaプロシージャのbbbの後にもExit Subを挿入するか、 cccを以下のようにコメントアウトする方法ではダメでしょうか? Sub aaa() bbb 'ccc End Sub コードを終了させる目的によっていろいろな方法が あると思いますが、単純にデバッグだけなら、 ブレークポイントをaaaプロシージャのcccに設定する というのも良いと思います。

VitaminBB
質問者

お礼

回答ありがとうございます。

すると、全ての回答が全文表示されます。