当一个单元格改变值时,宏提醒我 - 弹出警报 - EXCEL

时间:2010-05-03 22:00:40

标签: excel popup alert

我正在寻找创建一个宏来在细胞值变化时提醒我。此特定列中的单元格可以具有“OVER”或“UNDER”的值。我希望编写代码以通过弹出窗口提醒我(消息:“Cell A crossses under(over)”)当值发生变化时。

谢谢,

帕特里克

1 个答案:

答案 0 :(得分:1)

你想要加入Worksheet_Change event 这样的事情应该让你开始:

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越过OVER”。


根据OP提供的进一步信息进行编辑:
对于自动工作表更改,您需要使用Worksheet_Calculate事件(下面的示例)。出于某些奇怪的原因,Excel似乎要求您在Workheet_Calculate的工作表中的任何位置=NOW()实际触发。

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