我可以在Excel中使用哪些事件

时间:2010-07-14 19:18:40

标签: excel excel-vba vba

在哪里可以找到Excel中的事件列表?我想基于它们在VBA中编写宏。我已经知道Worksheet_BeforeDoubleClick,但我或多或少地发现随机/记得它在Access中使用过。

有没有人有完整的列表或知道我在哪里可以找到Excel中的一个不同事件?

3 个答案:

答案 0 :(得分:5)

以下是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

向下滚动查看活动。

答案 1 :(得分:4)

答案 2 :(得分:3)

找到它们的另一种方法是打开VBE(Alt + F11),单击对象的类模块(例如ThisWorkbook或Sheet1),然后使用代码面板顶部的下拉框。例如,如果您从左下拉选择ThisWorkbook,则右下拉列表将包含您可以使用的所有事件。

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

Public WithEvents qt As QueryTable

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

Public WithEvents rng As Range

因为Range对象不公开任何事件。比詹姆斯的答案稍微麻烦一点,但是当你知道对象并获得具有暴露事件的对象列表时,这是一种很好的方式来浏览事件。