需要有关细胞事件宏的帮助,我正在测试细胞事件宏,由于某些原因,它没有触发。请求您的帮助查看
代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("J8").Value = "No" Then
MsgBox "Hi"
Else
Exit Sub
End If
End Sub
代码
不确定,这里的问题在哪里,我的期望是当我键入"时显示一个消息框;否";。但是不起作用
下面是您需要的基本代码,它必须安装在您想要操作的工作表的代码模块中,因为更改事件不会在其他地方被注意到。
Private Sub Worksheet_Change(ByVal Target As Range)
Const TriggerCell As String = "J8"
If Target.Address(0, 0) = TriggerCell Then
If Target.Value = "No" Then
MsgBox "Hi"
End If
End If
End Sub
这段代码非常粗糙,只是为了演示如下原理。
- 该事件生成一个名为
Target
的范围。那是被改变的细胞。如果使用复制/粘贴,则可以同时更改多个单元格。则CCD_ 2将是更大的范围 - 您必须确定更改后的单元格是否对您感兴趣。在上面的代码中,这是通过指定一个
TriggerCell
来完成的。您可以指定一整列(但不能在上面只能处理一个单元格的设置中指定( - 由于事件提供的
Target
是您指定的TriggerCell
,因此您可以将其值与您的期望值进行比较,并根据比较结果采取行动
注意,在结束之前不需要Else
或Exit Sub