エクセル2000で、あるセルが空白なら警告メッセージボックスを出して
保存できないようにする、というプログラムをVBAで作りました。
VBEで一行ずつ走らせるとちゃんとメッセージボックスが
出てくるのですが、実際にブックからD6を空白にしたまま保存しようと
したらメッセージボックスが出てこずに保存できてしまいます。
どこかで、設定が必要なのでしょうか?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

With Worksheets("sheet1")

If .Range("D6").Value = "" Then
MsgBox "please enter D6 field.", vbCritical, "警告"
Cancel = True
End If

End With

End Sub

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは。

maruru01です。
fuyuさんのコードを、ThisWorkbookにそっくりそのまま貼り付けて実行したら、うまくいきました。
このコードはThisWorkbookにあるんですよね。
でしたら後は、D6が空白ではなく、スペースが入っているとか。
今のところ他にうまく行かない例が見つかりません。
ちなみに、D6に「= D1」とセル参照が入っていて、D1が空白で結果的にD6も空白の場合でも、やはり空白と認識し、警告してくれます。
あと、Range("D6")の「D6」を「D6」と全角にしてもOKでしたし、
"sheet1"と"Sheet1"が違ってもOKでした。
では。
    • good
    • 0
この回答へのお礼

なぜだか分かりませんが、時間がたつとちゃんと動きました。回答ありがとうございました。

お礼日時:2001/10/10 18:35

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


人気Q&Aランキング