如果工作表上的单元格值为false,则为VBA消息框

我有这个代码,它工作正常,但我只有1个问题。

它不工作的方式,我希望它。

我希望它每次更改更改时popupmsgbox。

如果单元格E45值不是"True"那么当我改变到不同的表单,我希望它提示我味精说: "Records DO NOT Match, would you still like to continue?"

 Private Sub Worksheet_Change(ByVal Target As Range) If Range("E45") <> "TRUE" Then MsgBox "Records Do Not Match" End If End Sub 

你需要改变两件事情:

首先,您需要使用Workbook_SheetActivate事件来捕获何时select了不同的工作表。 接下来,你应该比较文字True值,而不是string"TRUE"

以下代码应该放在ThisWorkbook模块中:

 Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Range("E45") <> True Then MsgBox "Records do not match" End If End Sub 

将“TRUE”修改为TRUE,以便检查布尔值,而不是string“true”