据我了解,他们做同样的事情,但是
Worksheet_SelectionChange
每次在单个工作表上更改选择时,都会触发
Workbook_SheetSelectionChange
每次在工作簿中任何工作表中更改选择时,都会触发。
这些事件之间是否存在其他差异?
答案 0 :(得分:5)
Worksheet_SelectionChange
事件宏提供的单个参数是刚刚被选中的单元格或单元格区域,例如, 目标。 Workbook_SheetSelectionChange
提供了Workbook_SheetSelectionChange
,但添加了使用 Sh 进行选择的工作表。
如果您希望在多个工作表(不一定是所有工作表)上发生相同的事情,请使用Worksheet_SelectionChange
并处理 Sh 参数。这也集中了您的代码,因此不必在多个地方重复修改。如果您只打算对单个工作表上的选择更改做出反应,请在其自己的工作表代码页上使用该工作表的{{1}}事件宏。
答案 1 :(得分:3)
好像你回答了自己的问题。
如果您希望更改事件特定于一张工作表,请将Worksheet_SelectionChange
放入工作表模块。
如果您希望在书中的每个工作表上都发生更改事件,请将Workbook_SheetSelectionChange
放入图书模块。
注意,如果你只想说5张中有3张触发,你可以在Workbook_Change事件开始时检查以检查Sheet.Name