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