工作表上的事件在默认情况下是可用的。若要查看工作表的事件过程,请用鼠标右键单击工作表标签,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。
Activate | Deactivate |
工作表级事件发生在工作表被激活、用户更改工作表上的单元格或数据透视表更改时。下例在工作表重新计算时就调整 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 Application.CommandBars("cell").Controls
If icbc.Tag = "brccm" Then icbc.Delete
Next icbc
If Not Application.Intersect(Target, Range("b1:b10")) _
Is Nothing Then
With Application.CommandBars("cell").Controls _
.Add(Type:=msoControlButton, before:=6, _
temporary:=True)
.Caption = "New Context Menu Item"
.OnAction = "MyMacro"
.Tag = "brccm"
End With
End If
End Sub