在构建一个旨在成为共享工作簿的项目时(请不要大声抱怨),我注意到与目标地址相关的Worksheet_change事件有些奇怪。
为了突出这一点,请创建一个新工作簿并添加以下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
MsgBox (Target.Address(0, 0))
Application.EnableEvents = True
End Sub
当通过将数据添加到新行触发事件并且未共享工作簿时,将显示一个消息框,其中包含预期的相关单元格地址。但是,当共享工作簿并遵循相同的过程时,事件将触发两次。
Pass 1返回一个消息框,其中显示的地址等于...的地址
Target.row:Target.row
Pass 2返回期望的单元格地址。
顺便说一句,这是人们通过
运行时错误13-类型不匹配
尽管可以通过使用以下代码(或类似代码)来克服这一点,但我想知道是否有人知道通行证1为何发生?
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address(0, 0) <> Target.Row & ":" & Target.Row Then
MsgBox (Target.Address(0, 0))
End If
Application.EnableEvents = True
End Sub
谢谢。