Worksheet_Change事件和共享工作簿

时间:2018-10-05 13:11:10

标签: excel vba onchange

在构建一个旨在成为共享工作簿的项目时(请不要大声抱怨),我注意到与目标地址相关的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

谢谢。

0 个答案:

没有答案