• ベストアンサー

エクセルVBA ブックを閉じる前に確認メッセージを表示したい

エクセルでブックを右上の×を押して閉じる場合、「○○の入力は済みましたか?」というメッセージを表示して「はい・いいえ」のうち、はいを押すと閉じることができて、いいえを押すと閉じるのをやめるようにしたいのですが、どのようなコードになるか教えてください。よろしくお願いします。

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

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

ThisWorkbookのBeforeCloseイベントに Private Sub Workbook_BeforeClose(Cancel As Boolean) MsgBox "AAA" End Sub を入れると Xでクローズしても、メッセージが出ましたが。

wait4u
質問者

お礼

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

その他の回答 (2)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

「○○の入力は済みましたか?」と表示するより ○○が未入力の時だけ、 「○○が未入力です、必ず入力してください」 とした方がいいのでは? 例えば、セルB5には必ず入力しないといけない場合 '----------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)  If Range("B5").Value = "" Then   MsgBox "●●が未入力、●●は必ず入力せよ!", vbCritical + vbOKOnly, "確認"   Cancel = True  End If End Sub '------------------------------------------------------   又は、 MsgBox "セルB5が未入力、セルB5は必ず入力せよ!", vbCritical + vbOKOnly, "確認" とか。  

wait4u
質問者

お礼

アイデアありがとうございました。今回は当てはまりませんでしたが、このようなケースに是非覚えさせていただきます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

ThisWorkbookモジュールに Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim ans ans = MsgBox("○○の入力は済みましたか?", vbYesNo + vbQuestion) If ans = vbNo Then Cancel = True End Sub としてください。

wait4u
質問者

お礼

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

関連するQ&A

専門家に質問してみよう