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

问题描述 投票:0回答:1

这只是了解更改事件如何工作的测试。在我完成这项工作后,我希望能够在C,D,E,F范围内的一个单元格中输入一个数字。并让更改触发自动输入到同一行的其他3个单元格。 Image of the excel file.

到目前为止,我甚至无法获得下面的代码。它只工作一次。我第一次在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
excel vba
1个回答
2
投票

您需要再次启用启用事件

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
© www.soinside.com 2019 - 2024. All rights reserved.