4

セルの値が変更されたときに警告するマクロを作成しようとしています。この特定の列のセルは、「OVER」または「UNDER」のいずれかの値を持つことができます。値が変化したときにポップアップ (メッセージ: "セル A が下を横切ります") で警告するコードを書きたいと思います。

ありがとう、

パトリック

4

1 に答える 1

1

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
于 2010-05-04T02:48:24.897 に答える