- ベストアンサー
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
エクセルでブックを右上の×を押して閉じる場合、「○○の入力は済みましたか?」というメッセージを表示して「はい・いいえ」のうち、はいを押すと閉じることができて、いいえを押すと閉じるのをやめるようにしたいのですが、どのようなコードになるか教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ThisWorkbookのBeforeCloseイベントに Private Sub Workbook_BeforeClose(Cancel As Boolean) MsgBox "AAA" End Sub を入れると Xでクローズしても、メッセージが出ましたが。
その他の回答 (2)
- onlyrom
- ベストアンサー率59% (228/384)
「○○の入力は済みましたか?」と表示するより ○○が未入力の時だけ、 「○○が未入力です、必ず入力してください」 とした方がいいのでは? 例えば、セル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, "確認" とか。
お礼
アイデアありがとうございました。今回は当てはまりませんでしたが、このようなケースに是非覚えさせていただきます。
- merlionXX
- ベストアンサー率48% (1930/4007)
ThisWorkbookモジュールに Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim ans ans = MsgBox("○○の入力は済みましたか?", vbYesNo + vbQuestion) If ans = vbNo Then Cancel = True End Sub としてください。
お礼
ありがとうございました。
お礼
ありがとうございました。