• ベストアンサー

簡単な事だと思うのですが vba での質問です。

Private Sub 処理名()  Dim a as Byte vbOK = MsgBox ("OK? or Cancel?",vbOKCancel,"確認")  If vbOK = 1 Then   MsgBox "OKが押されました"  else if   MsgBox "キャンセルが押されました"  End if  ~以下長々と処理~     長々と処理の最後~ End Sub 例えば上記のような、vbaマクロがあったとします。 もし、キャンセルを押した場合、有無を言わさず全ての処理を終了したい場合どのように記述をすれば宜しいのでしょうか? キャンセルを押した場合後続の長々と処理部分は全てキャンセルしたいのです。 私はその方法が分からないために分岐がある度にif分のネストが深くなってしまって困っています。 どなたかご教授下さい。 よろしくお願い致します。

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

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

MsgBox "キャンセルが押されました" の後に「Exit Sub」

muropon
質問者

お礼

そうです。それが知りたかったのです。 有難うございました。

その他の回答 (1)

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  方法1)   「長々と処理」を「MsgBox "OKが押されました"」と「else if」の間に入れる。  方法2)   方法1だと、構造が見づらくなるのであれば、「長々と処理」をサブルーチン化して、方法1と同じ場所でcallしたらどうでしょう。 では。

関連するQ&A

専門家に質問してみよう