0

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

它不像我想要的那样工作。

我希望它在每次更改更改时弹出 msgbox。

如果单元格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
4

2 回答 2

3

你需要改变两件事:

首先,当您选择了不同的工作表时,您需要使用Workbook_SheetActivate事件来捕获。接下来,您应该与文字True值进行比较,而不是字符串"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
于 2013-06-03T14:47:36.507 回答
2

将“TRUE”修改为 TRUE,以便它检查布尔值,而不是字符串“true”

于 2013-06-03T14:40:25.787 回答