什么是我可以在Excel中使用的事件

我在哪里可以findExcel中的事件列表? 我想基于它们在VBA中编写macros。 我已经知道了Worksheet_BeforeDoubleClick ,但我或多或less地发现随机/记住它在Access中使用。

有没有人有完整的清单或知道在哪里可以findExcel中的不同事件之一?

这些是了解Excel事件的一些很好的链接:

  1. 开始VBA:事件
  2. 事件macros,工作表事件和工作簿事件
  3. Excel VBA中的事件

这里是excel对象模型概述,您可以使用它来导航到每个模型的成员。

http://msdn.microsoft.com/en-us/library/wss56bz7(VS.80).aspx

你可以用它来得到:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.application_members.aspx

向下滚动查看事件。

另一种方法是打开VBE(Alt + F11),单击对象的类模块(如ThisWorkbook或Sheet1),并使用代码面板顶部的下拉框。 例如,如果您从左侧的下拉列表中selectThisWorkbook,那么右侧的下拉列表将包含您可以使用的所有事件。

对于不是Workbook或Worksheet(Application,QueryTable等)的对象,请在项目中创build一个自定义类模块(Insert-Class Module)并键入(例如)

 Public WithEvents qt As QueryTable 

现在,“qt”将出现在左侧的下拉列表中,QueryTable的所有事件都将出现在右侧。 您会注意到,当您包含WithEvents时,Intellisense仅显示有限数量的对象。 这些是唯一暴露事件的对象。 所以你不能input

 Public WithEvents rng As Range 

因为Range对象不会公开任何事件。 比詹姆斯的答案要复杂一点,但是当你知道这个对象的时候浏览这些事件,并得到一个暴露事件的对象列表是一个很好的方法。