我遇到了一些VBA代码的问题,这个代码看起来很基本,但却无法正常工作。我是VBA的新手,所以我错过了一些东西。
代码应该检查单元格(XFD3002)以查看它是否等于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
任何人都可以看到上面的错误吗?
答案 0 :(得分:5)
子名称应为Workbook_BeforeSave
。
最难发现的错误始终是最简单的错误。 :d
答案 1 :(得分:-1)
您正在查看检查单元格中的内容是否为字符串,因为您在其周围加上引号 - “0”,但检查已声明为整数。尝试将其更改为0而不使用引号。
编辑:还请确保此代码出现在“TheWorkbook”模块中,并将名称更改为Workbook_BeforeSave(由@Pierre指出)