不触发单元格事件



需要有关细胞事件宏的帮助,我正在测试细胞事件宏,由于某些原因,它没有触发。请求您的帮助查看

代码


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

这段代码非常粗糙,只是为了演示如下原理。

  1. 该事件生成一个名为Target的范围。那是被改变的细胞。如果使用复制/粘贴,则可以同时更改多个单元格。则CCD_ 2将是更大的范围
  2. 您必须确定更改后的单元格是否对您感兴趣。在上面的代码中,这是通过指定一个TriggerCell来完成的。您可以指定一整列(但不能在上面只能处理一个单元格的设置中指定(
  3. 由于事件提供的Target是您指定的TriggerCell,因此您可以将其值与您的期望值进行比较,并根据比较结果采取行动

注意,在结束之前不需要ElseExit Sub

相关内容

最新更新