工作表事件一览表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

W orksheet 对象事件一览表

工作表上的事件在默认情况下是可用的。若要查看工作表的事件过程,请用鼠标右键单击工作表标签,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。

工作表级事件发生在工作表被激活、用户更改工作表上的单元格或数据透视表更改时。下例在工作表重新计算时就调整 A 列到 F 列的大小。

Private Sub Worksheet_Calculate()

Columns("A:F").AutoFit

End Sub

有些事件可用于将某操作取代默认的应用程序操作,或对默认操作进行一些小改动。下例捕获了右键单击事件,并在单元格区域 B1:B10 的快捷菜单中添加了新的菜单项。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _

Cancel As Boolean)

For Each icbc In mandBars("cell").Controls

If icbc.Tag = "brccm" Then icbc.Delete

Next icbc

If Not Application.Intersect(Target, Range("b1:b10")) _

Is Nothing Then

With mandBars("cell").Controls _

.Add(Type:=msoControlButton, before:=6, _

temporary:=True)

.Caption = "New Context Menu Item"

.OnAction = "MyMacro"

.Tag = "brccm"

End With

End If

Activate 事件

激活一个工作簿、工作表、图表或嵌入图表时产生此事件。

Private Sub object_Activate()

object Chart、Workbook、或者Worksheet。有关对Chart对象使用事件的详细信息,请参阅图表对象事件的用法。

说明

切换两个显示同一个工作簿的窗口时,将产生 WindowActivate 事件,但不产生工作簿的 Activate 事件。

新建窗口时不产生本事件。

示例

当激活工作表时,本示例对 A1:A10 区域进行排序。

Private Sub Worksheet_Activate()

Range("a1:a10").Sort Key1:=Range("a1"), Order:=xlAscending

End Sub

Deactivate 事件

图表、工作表或工作簿从活动状态转为非活动状态时产生此事件。

Private Sub object_Deactivate()

object Chart、Workbook或者Worksheet。有关对Chart对象使用事件的详细信息,请参阅Chart 对象事件的用法。

示例

本示例当工作簿转为非活动状态时,对所有打开的窗口进行排列。

Private Sub Workbook_Deactivate()

Application.Windows.Arrange xlArrangeStyleTiled

End Sub

BeforeDoubleClick 事件

当双击某工作表时产生此事件,此事件先于默认的双击操作。

Private Sub expression_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

expression 引用在类模块中带有事件声明的Worksheet类型对象的变量。

Target 必需。双击发生时最靠近鼠标指针的单元格。

Cancel 可选。当事件发生时为False。如果事件过程将该参数设为True,则该过程执行完之后将不进行默认的双击操作。

说明

使用DoubleClick方法并不触发本事件。

用户双击单元格的边框时不触发本事件。

BeforeRightClick 事件

当用鼠标右键单击某工作表时产生此事件,此事件先于默认的右键单击操作。

Private Sub expression_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

expression 引用在类模块中带有事件声明的Worksheet类型对象的变量。

Target必需。右键单击发生时最靠近鼠标指针的单元格。

Cancel 可选。当事件发生时为False。如果该事件过程将本参数设为True,则该过程执行结束之后不进行默认的右键单击操作。

说明

与其他工作表事件相似,当指针位置在图形或命令栏(工具栏或者菜单栏)上时,右键单击不触发本事件。

示例

应用于Worksheet对象。

本示例为 B1:B10 单元格添加新的快捷菜单项。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _

Cancel As Boolean)

Dim icbc As Object

For Each icbc In mandBars("cell").Controls

If icbc.Tag = "brccm" Then icbc.Delete

Next icbc

If Not Application.Intersect(Target, Range("b1:b10")) _

Is Nothing Then

With mandBars("cell").Controls _

.Add(Type:=msoControlButton, before:=6, _

temporary:=True)

.Caption = "New Context Menu Item"

.OnAction = "MyMacro"

.Tag = "brccm"

End With

End If

End Sub

Calculate 事件

对于Chart对象,在图表对新的数据点或者更改的数据点绘制之后产生此事件。对于Worksheet对象,在对工作表进行重新计算之后产生此事件。

Private Sub object_Calculate()

object Chart或者Worksheet。有关对Chart对象使用事件的详细内容,请参阅Chart 对象事件的用法。

示例

每当工作表重新计算时,本示例就调整 A 列到 F 列的宽度。

Private Sub Worksheet_Calculate()

Columns("A:F").AutoFit

相关文档
最新文档