我正在Excel VBA的if
子下实现一个双重BeforeSave
语句,但是它不起作用。我的excel工作表中有一个复选框,当选中或取消选中它们时,它们分别在TRUE
中输出FALSE
或F11
。另外,如果我要在工作表中填写的所有单元格都已填充,则单元格A1
将从“”更改为“”。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheet2.Range("F11").Value = "TRUE" Then
If Sheet1.Range("A1").Value = "" Then
MsgBox "Sheet requires input(s). All cells must be filled."
Cancel = True
End If
End If
End Sub
预期的输出是,如果第一个If语句为true,第二个If为空白,excel将不让我保存,但是实际输出是无论如何我都可以保存。另外,如果第一个If为False而不考虑第二个if输出,它应该让我保存。
答案 0 :(得分:0)
我看到两个可能的原因:
Value = ""
工作表功能。