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 事件(下面的示例)。出于某种奇怪的原因,Excel 似乎要求您=NOW()在工作表中的任何位置都可以实际触发 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 回答