这只是了解更改事件如何工作的测试。在我完成这项工作后,我希望能够在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 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