セルの値が変更されたときに警告するマクロを作成しようとしています。この特定の列のセルは、「OVER」または「UNDER」のいずれかの値を持つことができます。値が変化したときにポップアップ (メッセージ: "セル A が下を横切ります") で警告するコードを書きたいと思います。
ありがとう、
パトリック
Worksheet_Change
イベントにフックする必要があります。
このようなものから始める必要があります:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "OVER" Then
MsgBox "Cell " & Target.Address & " crosses OVER"
ElseIf Target.Value = "UNDER" Then
MsgBox "Cell " & Target.Address & " crosses UNDER"
End If
End Sub
Sub just_testing()
Dim mycell As Object
Set mycell = ActiveSheet.Cells(1, 1)
Call Worksheet_Change(mycell)
End Sub
このコードでは、セル A1 の値を OVER (大文字と小文字を区別します!) に変更すると、"Cell $A$1 crosses OVER" というメッセージが出力されます。
OP から提供される詳細情報に基づいて編集し
ます。自動ワークシート変更の場合は、Worksheet_Calculate イベントを使用する必要があります (以下の例)。=NOW()
そして、何らかの奇妙な理由で、Excel では、Worksheet_Calculate が実際に起動するために、ワークシート内の任意の場所にいる必要があるようです。
Private Sub Worksheet_Calculate()
Dim mycell As Object
Set mycell = ActiveSheet.Cells(1, 1)
If mycell.Value = "OVER" Then
MsgBox "Cell " & mycell.Address & " crosses OVER"
ElseIf mycell.Value = "UNDER" Then
MsgBox "Cell " & mycell.Address & " crosses UNDER"
End If
End Sub