如果cell = 0显示消息框并取消保存,则选中cell = 0



我有一些VBA代码的问题,这似乎是如此基本,但只是不工作。我是新的VBA所以可能,我错过了一些东西。

代码应该检查单元格(XFD3002),看它是否等于0,如果等于0,则显示一条消息并阻止文件保存。对于后台,有一个检查来查看某些单元格是否被填充,如果没有,它将返回一个0。

代码是:

Private Sub Check_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim check As Integer
check = Sheets("Data").Range("XFD3002").Value
If check = 0 Then
    MsgBox ("You have missed one or more required field")
    Cancel = True
End If
End Sub

有人能看出上面有什么问题吗?

子名称应为Workbook_BeforeSave

最难发现的错误总是最简单的错误。: D

查看check单元格中的内容是否为字符串,因为您在其周围加上了引号- "0",但check已被声明为整数。尝试将其更改为不带引号的0。

编辑:还请确保此代码出现在"TheWorkbook"模块中,并将名称更改为Workbook_BeforeSave(正如@Pierre指出的)

最新更新