プロが教える店舗&オフィスのセキュリティ対策術

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

教えて!goo グレード

A 回答 (3件)

ThisWorkbookのBeforeCloseイベントに


Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "AAA"
End Sub
を入れると
Xでクローズしても、メッセージが出ましたが。
    • good
    • 6
この回答へのお礼

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

お礼日時:2008/01/18 21:17

「○○の入力は済みましたか?」と表示するより


○○が未入力の時だけ、
「○○が未入力です、必ず入力してください」
とした方がいいのでは?

例えば、セル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, "確認"

とか。
 
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/01/18 21:19

ThisWorkbookモジュールに



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ans
ans = MsgBox("○○の入力は済みましたか?", vbYesNo + vbQuestion)
If ans = vbNo Then Cancel = True
End Sub

としてください。
    • good
    • 3
この回答へのお礼

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

お礼日時:2008/01/18 21:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング