在Excel VBA中触发工作表更改
这是一个更一般的问题,但我想知道究竟是什么触发了Excel VBA上的工作簿_SheetChange()。当单元格中的值更改时,它声称会更改,但当您尝试拖动而不是在新单元格中输入值时,宏不会触发。有没有其他方法可以绕过这个问题,或者有没有其他方法可以触发一个宏来检测工作簿中的任何更改?对我来说,在拖放单元格时,似乎会触发更改事件 我正在使用(在“ThisWorkbook”模块中) 您是否确实在使用工作书事件而不是工作工作表事件在Excel VBA中触发工作表更改,vba,excel,Vba,Excel,这是一个更一般的问题,但我想知道究竟是什么触发了Excel VBA上的工作簿_SheetChange()。当单元格中的值更改时,它声称会更改,但当您尝试拖动而不是在新单元格中输入值时,宏不会触发。有没有其他方法可以绕过这个问题,或者有没有其他方法可以触发一个宏来检测工作簿中的任何更改?对我来说,在拖放单元格时,似乎会触发更改事件 我正在使用(在“ThisWorkbook”模块中) 您是否确实在使用工作书事件而不是工作工作表事件 编辑:仅当您更改工作表时才应触发短语设置工作簿\u SheetCha
编辑:仅当您更改工作表时才应触发短语设置
工作簿\u SheetChange()
,您是说工作簿\u SelectionChange()
?您所说的“尝试并拖动”是什么意思?你指的是自动填充吗?我很难复制这个。@Burns先生-你想的是SheetActivate
。请参阅。任何工作表上的任何编辑更改都会触发工作簿\u SheetChange
,包括拖动或添加/删除公式。当公式因重新计算而更改其值时,不会触发该事件。您可能混淆了sh参数,并且可能没有处理目标是多个单元格的情况。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Debug.Print Now
End Sub