用于Worksheet_SelectionChange和Workbook_SheetSelectionChange事件

据我了解,他们做同样的事情,但同时

Worksheet_SelectionChange 

每次在单个工作表上更改select时都会触发,

 Workbook_SheetSelectionChange 

每次在工作簿中的任何工作表中select更改时触发。

这些事件之间还有其他的区别吗?

Worksheet_SelectionChange事件macros提供的单个参数是刚被选中的单元格或单元格范围,例如TargetWorkbook_SheetSelectionChange提供了该选项,但添加了使用Sh进行select的工作表。

如果您希望在多个工作表上发生同样的事情(不一定全部),请使用Workbook_SheetSelectionChange并处理Sh参数。 这也集中了你的代码,所以修改不必在几个地方重复。 如果您只打算对单个工作表上的select更改作出反应,请在其自己的Worksheet_SelectionChange表代码页上使用该工作表的Worksheet_SelectionChange事件macros。

看来你回答了你自己的问题。

如果您希望更改事件发生特定于一个工作表,则将Worksheet_SelectionChange放入Worksheet_SelectionChange表模块中。

如果您希望更改事件发生在书中的每一张纸上,则将Workbook_SheetSelectionChange放入书的模块中。

请注意,如果您只希望触发5张表中的3张,则可以在Workbook_Change事件的开始处运行检查以检查Sheet.Name