我有一些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指出的)