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

次の 2 点を変更する必要があります。

まず、別のシートを選択したときに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 に答える