工作薄工作表事件一览表.docx
《工作薄工作表事件一览表.docx》由会员分享,可在线阅读,更多相关《工作薄工作表事件一览表.docx(23页珍藏版)》请在冰豆网上搜索。
工作薄工作表事件一览表
工作簿对象事件一览表
当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。
工作簿上的事件在默认情况下是可用的。
若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。
在“过程”下拉列表框内选择事件名称。
事件
说明
Activate
激活工作薄时
AddinInstall
当工作簿作为加载宏安装时
AddinUninstall
工作簿作为加载宏卸载时
BeforeClose
关闭工作薄前
BeforePrint
打印工作薄(或其中任何内容)之前
BeforeSave
保存工作薄前
Deactivate
工作簿从活动状态转为非活动状态时
NewSheet
在工作簿中新建工作表时
Open
打开工作簿时
PivotTableCloseConnection
在数据透视表关闭与其数据源的连接之后
PivotTableOpenConnection
在数据透视表打开与其数据源的连接之后
SheetActivate
激活任何一张表时
SheetBeforeDoubleClick
双击任何工作表时
SheetBeforeRightClick
鼠标右键单击任一工作表时
SheetCalculate
工作表重新计算时
SheetChange
更改工作表中的单元格时
SheetDeactivate
任一工作表由活动状态转为非活动状态时
SheetFollowHyperlink
单击MicrosoftExcel中的任意超链接时
SheetPivotTableUpdate
数据透视表的工作表更新之后
SheetSelectionChange
工作簿中的数据透视表更新之后
WindowActivate
工作簿的窗口激活时
WindowDeactivate
工作簿的窗口变为非活动状态时
WindowResize
工作簿窗口调整大小时
本示例在打开工作簿时将MicrosoftExcel窗口最大化。
SubWorkbook_Open()
Application.WindowState=xlMaximized
EndSub
Activate事件
激活一个工作簿、工作表、图表或嵌入图表时产生此事件。
PrivateSubobject_Activate()
object Chart、Workbook、或者Worksheet。
有关对Chart对象使用事件的详细信息,请参阅图表对象事件的用法。
说明
切换两个显示同一个工作簿的窗口时,将产生WindowActivate事件,但不产生工作簿的Activate事件。
新建窗口时不产生本事件。
示例
当激活工作表时,本示例对A1:
A10区域进行排序。
PrivateSubWorksheet_Activate()
Range("a1:
a10").SortKey1:
=Range("a1"),Order:
=xlAscending
EndSub
AddinInstall事件
当工作簿作为加载宏安装时,产生此事件。
PrivateSubWorkbook_AddinInstall()
示例
当指定工作簿作为加载宏安装时,本示例将一个控件添加到常用工具栏中。
PrivateSubWorkbook_AddinInstall()
WithApplication.Commandbars("Standard").Controls.Add
.Caption="TheAddIn'smenuitem"
.OnAction="'ThisAddin.xls'!
Amacro"
EndWithEndSub
EndSub
AddinUninstall事件
当工作簿作为加载宏卸载时,产生此事件。
PrivateSubWorkbook_AddinUninstall()
说明
卸载加载宏时,该加载宏并不自动关闭。
示例
当指定工作簿作为加载宏卸载时,本示例将MicrosoftExcel最小化。
PrivateSubWorkbook_AddinUninstall()
Application.WindowState=xlMinimized
EndSub
BeforeClose事件
在关闭工作簿之前,先产生此事件。
如果该工作簿已经更改过,则本事件在询问用户是否保存更改之前产生。
PrivateSubWorkbook_BeforeClose(CancelAsBoolean)
Cancel 当事件产生时为False。
如果该事件过程将本参数设为True,则停止对工作簿的关闭操作,工作薄仍处于打开状态。
示例
本示例将BeforeClose事件的响应设置为保存工作簿的任何更改。
PrivateSubWorkbook_BeforeClose(CancelasBoolean)
IfMe.Saved=FalseThenMe.Save
EndSub
BeforePrint事件
在打印指定工作簿(或者其中的任何内容)之前,产生此事件。
PrivateSubWorkbook_BeforePrint(CancelAsBoolean)
Cancel 当事件产生时为False。
如果该事件过程将本参数设为True,则当该过程运行结束之后不打印工作簿。
示例
本示例在打印之前对当前活动工作簿的所有工作表重新计算。
PrivateSubWorkbook_BeforePrint(CancelAsBoolean)
ForEachwkinWorksheets
wk.Calculate
Next
EndSub
BeforeSave事件
保存工作簿之前产生此事件。
PrivateSubWorkbook_BeforeSave(ByValSaveAsUiAsBoolean,CancelAsBoolean)
SaveAsUi 如果显示“另存为”对话框,则为True。
Cancel 当事件产生时为False。
如果该事件过程将本参数设为True,则该过程执行结束之后不保存工作簿。
示例
本示例在保存工作簿之前询问用户是否保存。
PrivateSubWorkbook_BeforeSave(ByValSaveAsUIAsBoolean,_
CancelasBoolean)
a=MsgBox("Doyoureallywanttosavetheworkbook?
",vbYesNo)
Ifa=vbNoThenCancel=True
EndSub
Deactivate事件
图表、工作表或工作簿从活动状态转为非活动状态时产生此事件。
PrivateSubobject_Deactivate()
object Chart、Workbook或者Worksheet。
有关对Chart对象使用事件的详细信息,请参阅Chart对象事件的用法。
示例
本示例当工作簿转为非活动状态时,对所有打开的窗口进行排列。
PrivateSubWorkbook_Deactivate()
Application.Windows.ArrangexlArrangeStyleTiled
EndSub
NewSheet事件
当在工作簿中新建工作表时产生此事件。
PrivateSubWorkbook_NewSheet(ByValShAsObject)
Sh 新工作表。
可以是一个Worksheet或Chart对象。
示例
本示例将新建的工作表移到工作簿的末尾。
PrivateSubWorkbook_NewSheet(ByValShasObject)
Sh.MoveAfter:
=Sheets(Sheets.Count)
EndSub
Open事件
打开工作簿时,将产生本事件。
PrivateSubWorkbook_Open()
示例
每次打开工作簿时,本示例都最大化MicrosoftExcel窗口。
PrivateSubWorkbook_Open()
Application.WindowState=xlMaximized
EndSub
PivotTableCloseConnection事件
发生在数据透视表关闭与其数据源的连接之后。
PrivateSubexpression_PivotTableCloseConnection(ByValTargetAsPivotTable)
expression 引用在类模块中带有事件声明的Workbook类型对象的变量。
Target 必需。
选定的数据透视表。
示例
本示例显示一则消息,说明数据透视表与其数据源的连接已经关闭。
本示例假定您已在类模块中声明了带有事件的Workbook类型的对象。
PrivateSubConnectionApp_PivotTableCloseConnection(ByValTargetAsPivotTable)
MsgBox"ThePivotTableconnectionhasbeenclosed."
EndSub
PivotTableOpenConnection事件
发生在数据透视表打开与其数据源的连接之后。
PrivateSubexpression_PivotTableOpenConnection(ByValTargetAsPivotTable)
expression 引用在类模块中带有事件声明的Workbook类型对象的变量。
Target 必需。
选定的数据透视表。
示例
本示例显示一则消息,说明数据透视表与其数据源的连接已经打开。
本示例假定您已在类模块中声明了带有事件的Workbook类型的对象。
PrivateSubConnectionApp_PivotTableOpenConnection(ByValTargetAsPivotTable)
MsgBox"ThePivotTableconnectionhasbeenopened."
EndSub
SheetActivate事件
当激活任何一张表时产生此事件。
PrivateSubobject_SheetActivate(ByValShAsObject)
object Application对象或Workbook对象。
Sh 激活的表。
可以是一个Chart对象或Worksheet对象。
示例
本示例显示每一张激活的表的名称。
PrivateSubWorkbook_SheetActivate(ByValShAsObject)
MsgBoxSh.Name
EndSub
SheetBeforeDoubleClick事件
当双击任何工作表时产生此事件,此事件先于默认的双击操作发生。
PrivateSubobject_SheetBeforeDoubleClick(ByValShAsObject,ByValTargetAsRange,ByValCancelAsBoolean)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Sh 代表该工作表的Worksheet对象。
Target 当双击事件发生时最靠近鼠标指针的单元格。
Cancel 当事件发生时为False。
如果事件过程将该参数设为True,则该过程执行完之后将不进行默认的双击操作。
说明
图表不产生该事件。
示例
本示例关闭默认的双击操作。
PrivateSubWorkbook_SheetBeforeDoubleClick(ByValShAsObject,_
ByValTargetAsRange,ByValCancelAsBoolean)
Cancel=True
EndSub
SheetBeforeRightClick事件
当用鼠标右键单击任一工作表时产生此事件,此事件先于默认的右键单击操作。
PrivateSubobject_SheetBeforeRightClick(ByValShAsObject,ByValTargetAsRange,ByValCancelAsBoolean)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Sh 代表该工作表的Worksheet对象。
Target 当右键单击事件发生时最靠近鼠标指针的单元格。
Cancel 当事件产生时为False。
如果该事件过程将本参数设为True,则该过程执行结束之后将不执行默认的右键单击操作。
说明
图表不产生该事件。
示例
本示例关闭默认的右键单击操作。
有关其他示例的详细信息。
请参阅BeforeRightClick事件示例。
PrivateSubWorkbook_SheetBeforeRightClick(ByValShAsObject,_
ByValTargetAsRange,ByValCancelAsBoolean)
Cancel=True
EndSub
SheetCalculate事件
当对工作表重新计算或者在图表上重新绘制发生更改的数据点时产生此事件。
PrivateSubobject_SheetCalculate(ByValShAsObject)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Sh 工作表。
可以是一个Chart对象或Worksheet对象。
示例
当计算工作簿中的任何工作表时,本示例对第一张工作表的A1:
A100区域进行排序。
PrivateSubWorkbook_SheetCalculate(ByValShAsObject)
WithWorksheets
(1)
.Range("a1:
a100").SortKey1:
=.Range("a1")
EndWith
EndSub
SheetChange事件
当用户更改工作表中的单元格或者外部链接引起单元格的更改时,产生此事件。
PrivateSubobject_SheetChange(ByValShAsObject,ByValSourceAsRange)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Sh 代表该工作表的Worksheet对象。
Source 发生更改的区域。
说明
图表不产生该事件。
示例
当任一工作表发生更改时,运行本示例。
PrivateSubWorkbook_SheetChange(ByValShAsObject,_
ByValSourceAsRange)
'runswhenasheetischanged
EndSub
SheetDeactivate事件
当任一工作表由活动状态转为非活动状态时产生此事件。
PrivateSubobject_SheetDeactivate(ByValShAsObject)
object Application对象或Workbook对象。
Sh 工作表。
可以是一个Chart对象或Worksheet对象。
示例
本示例显示每一非活动工作表的名称。
PrivateSubWorkbook_SheetDeactivate(ByValShAsObject)
MsgBoxSh.Name
EndSub
SheetFollowHyperlink事件
单击MicrosoftExcel中的任意超链接时发生此事件。
对于工作表级的事件,请参阅“帮助”主题中的FollowHyperlink事件。
PrivateSubWorkbook_SheetFollowHyperlink(ByValShAsObject,ByValTargetAsHyperlink)
Sh Object类型,必需。
表示包含该超链接的Worksheet对象。
Target Hyperlink类型,必需。
一个Hyperlink对象,该对象代表超链接的目标位置。
示例
本示例对当前工作簿中所有已单击过的超链接保留一个列表或历史记录,其中也包括含有这些超链接的工作表名称。
PrivateSubWorkbook_SheetFollowHyperlink(ByValShasObject,_
ByValTargetAsHyperlink)
UserForm1.ListBox1.AddItemSh.Name&":
"&Target.Address
UserForm1.Show
EndSub
SheetPivotTableUpdate事件
发生在数据透视表的工作表更新之后。
PrivateSubexpression_SheetPivotTableUpdate(ByValShAsObject,TargetAsPivotTable)
expression 引用在类模块中带有事件声明的Applicaton类型或Workbook类型对象的变量。
Sh 必需。
选定的工作表。
Target 必需。
选定的数据透视表。
示例
本示例显示一则消息,说明数据透视表已经更新。
本示例假定您已在类模块中声明了带有事件的Application类型或Workbook类型的对象。
PrivateSubConnectionApp_SheetPivotTableUpdate(ByValshOneAsObject,TargetAsPivotTable)
MsgBox"TheSheetPivotTableconnectionhasbeenupdated."
EndSub
SheetSelectionChange事件
任一工作表上的选定区域发生更改时,将产生本事件。
(但图表上的选定对象发生改变时,不会产生本事件。
)
PrivateSubobject_SheetSelectionChange(ByValShAsObject,ByValTargetAsExcel.Range)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Sh 新选定的区域所在的工作表。
Target 新选定的区域。
示例
本示例在状态栏上显示选定区域所在的工作表名称及选定区域的地址。
PrivateSubWorkbook_SheetSelectionChange(ByValShAsObject,_
ByValTargetAsExcel.Range)
Application.StatusBar=Sh.Name&":
"&Target.Address
EndSub
WindowActivate事件
工作簿的窗口激活时,将产生本事件。
PrivateSubobject_WindowActivate(ByValWbAsExcel.Workbook,ByValWnAsExcel.Window)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Wb 仅用于Application对象。
显示在活动窗口中的工作簿。
Wn 激活的窗口。
示例
本示例使工作簿窗口激活时最大化。
PrivateSubWorkbook_WindowActivate(ByValWnAsExcel.Window)
Wn.WindowState=xlMaximized
EndSub
WindowDeactivate事件
工作簿的窗口变为非活动状态时,将产生本事件。
PrivateSubobject_WindowDeactivate(ByValWbAsExcel.Workbook,ByValWnAsExcel.Window)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Wb 仅用于Application对象。
非活动状态的窗口中的工作簿。
Wn 非活动状态的窗口。
示例
本示例使工作簿窗口变为非活动状态时最小化。
PrivateSubWorkbook_WindowDeactivate(ByValWnAsExcel.Window)
Wn.WindowState=xlMinimized
EndSub
WindowResize事件
工作簿窗口调整大小时,将产生本事件。
PrivateSubobject_WindowResize(ByValWbAsExcel.Workbook,ByValWnAsExcel.Window)
object Application对象或Workbook对象。
有关对Application对象使用事件的详细信息,请参阅Application对象事件的用法。
Wb 仅用于Application对象。
在调整大小的窗口中显示的工作簿。
Wn 调整大小的窗口。
示例
工作簿窗口调整大小时,将运行本示例。
PrivateSubWorkbook_WindowResize(ByValWnAsExcel.Window)
Application.StatusBar=Wn.Caption&"resized"
EndSub