excel中的工作表更改事件仅在我第一次打开工作簿时有效。之后对单元格的任何更改都不起作用

excel中的工作表更改事件仅在我第一次打开工作簿时有效。之后对单元格的任何更改都不起作用,excel,vba,Excel,Vba,这只是一个测试,看看变更事件是如何工作的。 完成这项工作后,我希望能够在一个单元格中输入C、D、E、F范围内的数字。并将更改触发器自动输入到同一行的其他3个单元格中。 到目前为止,我甚至无法让下面的代码工作。它只工作一次。当我第一次在c16中放入某些内容时,它会触发消息,但如果我再次更改它。没有消息出现。多谢各位 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False '<

这只是一个测试,看看变更事件是如何工作的。 完成这项工作后,我希望能够在一个单元格中输入C、D、E、F范围内的数字。并将更改触发器自动输入到同一行的其他3个单元格中。

到目前为止,我甚至无法让下面的代码工作。它只工作一次。当我第一次在c16中放入某些内容时,它会触发消息,但如果我再次更改它。没有消息出现。多谢各位

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '<--| disable events handling
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back

Select Case Target.Address

    Case "$C$16"
       'Me.Unprotect
        MsgBox "Test" & Target.Cells.Row

        'Me.Protect


End Select
ErrorHandler:

End Sub
Private子工作表\u更改(ByVal目标作为范围)

Application.EnableEvents=False'您需要再次启用启用事件

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '<--| disable events handling
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back

Select Case Target.Address

    Case "$C$16"
       'Me.Unprotect
        MsgBox "Test" & Target.Cells.Row

        'Me.Protect


End Select

Application.EnableEvents = True
ErrorHandler:

End Sub
Private子工作表\u更改(ByVal目标作为范围)

Application.EnableEvents=False'您需要再次启用启用事件

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '<--| disable events handling
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back

Select Case Target.Address

    Case "$C$16"
       'Me.Unprotect
        MsgBox "Test" & Target.Cells.Row

        'Me.Protect


End Select

Application.EnableEvents = True
ErrorHandler:

End Sub
Private子工作表\u更改(ByVal目标作为范围)

Application.EnableEvents=False“在
ErrorHandler
之后重新启用事件更安全-这样您的代码不会崩溃并关闭事件这意味着重新启用事件。你能给我举个代码的例子吗?谢谢Tim WilliamsSorry看到你在代码中添加了一些东西。非常感谢。感谢Tim WilliamsSafer在
ErrorHandler
之后重新启用事件-这样您的代码不会崩溃并关闭事件这意味着重新启用事件。你能给我举个代码的例子吗?谢谢Tim WilliamsSorry看到你在代码中添加了一些东西。非常感谢。谢谢蒂姆·威廉姆斯