当前位置:文档之家› 各相关部门责任事项一览表

各相关部门责任事项一览表

各相关部门责任事项一览表
各相关部门责任事项一览表

各相关部门责任事项一览表

EXCEL基本事件

第X课EXCEL基本事件 1 什么是事件 事件是一个对象可以辨认的动作,像单击鼠标或者按下某个键等等,并且可以编写某些代码针对此动作做出响应。用户做动作或者程序代码的结果都可能导致事件的发生。在VBA 中,可以激发事件的用户动作包括:切换工作表、选择单元格和单击鼠标等几十种。事件发生时,将执行包含事件过程中的代码。若用户没有定义某事件所调用的过程,那么当发生该事件时,就不会产生任何反应。 2 Excel中事件的分类 Excel提供了非常多的事件,主要可以分为以下几类: (1)工作簿事件 工作簿事件发生在特定的工作簿中,如Open(打开工作簿)、BeforeClose(关闭工作簿之前)和SheetActive(激活任何一张表)等。工作簿事件的代码必须在Thiswork对象代码模块中编写。 (2)工作表事件 工作表事件发生在特定的工作表中,如activate(激活工作表)、change(更改工作表中的单元格)和SelectionChange(工作表上的选定区域发生改变)等。工作表事件的代码必须在对应工作表的代码模块中编写。 (3)窗体、控件事件 新建的用户窗体及窗体上的控件可以响应很多事件,如Click(单击)、Change(控件内容更改)等,这类事件的代码必须编在相应的用户窗体代码模块中。 图表事件 图表事件针对某个特殊的图表产生,例如Slect(选中了图表中的某个对象)和SeriesChange(改变了系列中某个数据点的值)。 不与对象关联的事件 这类事件只有两个,分别是Online和Okey,根据时间和按钮来产生这两个事件。 3 工作薄事件 当工作薄更改,工作薄中任何工作表更改,加载宏更改或数据透视表更改时,都将引发工作薄事件。若要查看工作薄事件,可以双击“工程资源管理器”(excel工作环境下按组合键“Alt+F11”打开)窗口中的“ThisWorkBook”对象,打开“代码编辑器”窗口,在“过程”下拉列表框中选择事件名称。Excel中的工作薄事件很多,下面选用几个常用事件进行简单介绍,读者若用到其他工作薄事件可查阅相关文献和excel帮助文件。 (1)Open事件 打开工作薄时,将产生此事件。Workbook_Open事件只在工作薄打开时产生,在下一次打开之前不再发生此事件。此事件中可以写入一些只需执行一次的代码,比如如果需要在每次打开文件时在“Shee1”工作表的A列中记录文件打开时间,则应该使用此事件,代码如下:

工作表事件一览表

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 https://www.doczj.com/doc/ff7466159.html,mandBars("cell").Controls If icbc.Tag = "brccm" Then icbc.Delete Next icbc If Not Application.Intersect(Target, Range("b1:b10")) _ Is Nothing Then With https://www.doczj.com/doc/ff7466159.html,mandBars("cell").Controls _ .Add(Type:=msoControlButton, before:=6, _ temporary:=True) .Caption = "New Context Menu Item" .OnAction = "MyMacro" .Tag = "brccm" End With End If

工作薄、工作表事件一览表

工作簿对象事件一览表 当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 本示例在打开工作簿时将 Microsoft Excel 窗口最大化。 Sub Workbook_Open() Application.WindowState = xlMaximized

End Sub 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 AddinInstall 事件 当工作簿作为加载宏安装时,产生此事件。 Private Sub Workbook_AddinInstall() 示例 当指定工作簿作为加载宏安装时,本示例将一个控件添加到常用工具栏中。 Private Sub Workbook_AddinInstall() With https://www.doczj.com/doc/ff7466159.html,mandbars("Standard").Controls.Add .Caption = "The AddIn's menu item" .OnAction = "'ThisAddin.xls'!Amacro" End With End Sub End Sub

VBA技巧20 工作表事件Target参数的使用方法

技巧1 工作表事件Target参数的使用方法 在工作表的SelectionChange事件中,参数Target代表新选定的区域,在工作表的Change事件中参数Target代表更改的区域。在实际应用中可以使用Target参数将触发工作表事件的区域限制在一定的范围内,有以下几种方法: 1-1 使用单元格的Address 属性 使用单元格的Address属性可以将触发条件限制在某一个单元格中,如下面的代码所示。 #001 Private Sub Worksheet_SelectionChange(ByVal Target As Range) #002 If Target.Address(0, 0) = "A1" Then #003 MsgBox "你选择了A1单元格" #004 End If #005 End Sub 代码解析: 当选择工作表A1单元格时显示一个消息框。 第2行代码使用Address属性返回所选单元格的区域引用,当返回的区域引用是“A1”时触发SelectionChange事件,显示一个消息框。 此方法只适用于单个单元格或者加上OR运算符可以适用于几个单元格,多则不方便。 1-2 使用Column属性和Row属性 使用单元格的Column属性和Row属性可以将触发条件限制在某一区域内,如下面的代码所示。 #001 Private Sub Worksheet_Change(ByVal Target As Range) #002 If Target.Column = 1 And Target.Row < 11 Then #003 Target.Offset(, 1) = Val(Target) * 3 #004 End If

excel中VBA事件

Excel事件表 一工作簿对象事件一览表 当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 事件说明 Activate激活工作薄时 AddinInstall当工作簿作为加载宏安装时 AddinUninstall工作簿作为加载宏卸载时 BeforeClose关闭工作薄前 BeforePrint打印工作薄(或其中任何内容)之前 BeforeSave保存工作薄前 Deactivate工作簿从活动状态转为非活动状态时 NewSheet在工作簿中新建工作表时 Open打开工作簿时 PivotTableCloseConnection在数据透视表关闭与其数据源的连接之后PivotTableOpenConnection在数据透视表打开与其数据源的连接之后 SheetActivate激活任何一张表时 SheetBeforeDoubleClick双击任何工作表时 SheetBeforeRightClick鼠标右键单击任一工作表时 SheetCalculate工作表重新计算时 SheetChange更改工作表中的单元格时 SheetDeactivate任一工作表由活动状态转为非活动状态时 SheetFollowHyperlink单击Microsoft Excel中的任意超链接时 SheetPivotTableUpdate数据透视表的工作表更新之后 SheetSelectionChange工作簿中的数据透视表更新之后 WindowActivate工作簿的窗口激活时 WindowDeactivate工作簿的窗口变为非活动状态时 WindowResize工作簿窗口调整大小时 2工作表事件一览表 工作表上的事件在默认情况下是可用的。若要查看工作表的事件过程,请用鼠标右键单击工作表标签,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 事件说明 Activate激活工作表时 Deactivate工作表从活动状态转为非活动状态时 BeforeDoubleClick双击工作表前 BeforeRightClick右键单击工作表时 Calculate对工作表进行重新计算之后 Change更改工作表中的单元格,或外部链接引起单元格时 FollowHyperlink单击工作表上的任意超链接时

VBA工作薄工作表事件一览表修订稿

V B A工作薄工作表事件 一览表 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

翻箱倒柜,无意中发现个好东东 放到这里,大家查着也方便 工作簿对象事件一览表 当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 事件说明 Activate 激活工作薄时 AddinInstall 当工作簿作为加载宏安装时 AddinUninstall 工作簿作为加载宏卸载时 BeforeClose 关闭工作薄前 BeforePrint 打印工作薄(或其中任何内容)之前 BeforeSave 保存工作薄前 Deactivate 工作簿从活动状态转为非活动状态时 NewSheet 在工作簿中新建工作表时 Open 打开工作簿时 PivotTableCloseConnection 在数据透视表关闭与其数据源的连接之后 PivotTableOpenConnection 在数据透视表打开与其数据源的连接之后 SheetActivate 激活任何一张表时 SheetBeforeDoubleClick 双击任何工作表时 SheetBeforeRightClick 鼠标右键单击任一工作表时 SheetCalculate 工作表重新计算时 SheetChange 更改工作表中的单元格时

SheetDeactivate 任一工作表由活动状态转为非活动状态时 SheetFollowHyperlink 单击 Microsoft Excel 中的任意超链接时 SheetPivotTableUpdate 数据透视表的工作表更新之后 SheetSelectionChange 工作簿中的数据透视表更新之后 WindowActivate 工作簿的窗口激活时 WindowDeactivate 工作簿的窗口变为非活动状态时 WindowResize 工作簿窗口调整大小时 本示例在打开工作簿时将 Microsoft Excel 窗口最大化。 Sub Workbook_Open() = xlMaximized End Sub 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 AddinInstall 事件 当工作簿作为加载宏安装时,产生此事件。 Private Sub Workbook_AddinInstall() 示例 当指定工作簿作为加载宏安装时,本示例将一个控件添加到常用工具栏中。Private Sub Workbook_AddinInstall() With ("Standard"). .Caption = "The AddIn's menu item"

Excel VBA编程 窗体的事件

Excel VBA 编程 窗体的事件 事件是指在应用程序运行期间,在窗体(或其内的对象)上,由于用户的操作或系统内自身原因而产生的有效动作,例如单击鼠标(Click )、移动鼠标(MouseMove )等都是事件。 VBE 中的对象可识别的事件是预先确定的,并不是所有对象都会具有相同事件。但每个事件都有一个事件过程的框架与之对应,当某一事件发生时,系统将立即执行对应的事件过程,因此,如果想利用这个过程去完成指定的任务,那么用户就必须在这个对应的事件过程中编写程序代码,以便响应发生的事件,否则,即使发生了可识别的事件,系统也不会做任何操作。下面介绍用户窗体中的一些常用事件。 1.Initialize 事件 Initialize 事件用来提供应用程序或用户窗体中的控件、变量等进行初始化。该事件的作用,于类模块中的该事件相同。 2.QueryClose 事件 该事件发生在UserForm 关闭之前。通常用这个事件确保在关闭应用程序之前,应用程序包含的用户窗体中没有未完成的任务。该事件的语法格式如下: 格式:Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 该事件括号内有两个参数。其中,参数Cancel 是一个整数的值,用于指定是否在所有加载的用户窗体中停止QueryClose 事件,当Cancel 的值设置为0以外的任意值时,QueryClose 事件将停止执行,并防止关闭UserForm 与应用程序;参数CloseMode 为一个值或常数,用来指示引起QueryClose 事件的原因。 CloseMode 参数返回下列的值,如表12-4所示。 表12.4 CloseMode 参数的返回值 3.Te rmina te 事 件 该事件用于删除窗体中对象事例的所有引用。Terminate 事件发生在卸载窗体对象之后。如果应用程序为非正常退出,从而导致在内存中删除UserForm 的示例,将不会触发Terminate 事件。例如,在从内存中删除UserForm 之前,应用程序调用了End 语句,则UserForm 不会触发Terminate 事件。 4.Activate 和Deactivate 事件 当运行中的对象变成活动窗口的时候就会发生Activate 事件。而当对象不再是活动窗口时,则会发生Deactivate 事件。下面的情况会引发这两种事件: 提 示 “常数”是执行程序时保持常数值的命名项目。常数可以是字符串、数值、另一常 数、任何(除乘幂与Is 之外的)算术运算符或逻辑运算符的组合。每个主应用程序皆可定义自己的一组常数。用户也可以使用Const 语句定义附加常数。可在代码中的任何地方使用常数代替实际的值。

VBA工作薄工作表事件一览表

翻箱倒柜,无意中发现个好东东 放到这里,大家查着也方便 工作簿对象事件一览表 当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 事件? ? ? ? 说明 Activate 激活工作薄时 AddinInstall 当工作簿作为加载宏安装时 AddinUninstall 工作簿作为加载宏卸载时 BeforeClose 关闭工作薄前 BeforePrint 打印工作薄(或其中任何内容)之前 BeforeSave 保存工作薄前 Deactivate 工作簿从活动状态转为非活动状态时 NewSheet 在工作簿中新建工作表时 Open 打开工作簿时 PivotTableCloseConnection 在数据透视表关闭与其数据源的连接之后 PivotTableOpenConnection 在数据透视表打开与其数据源的连接之后 SheetActivate 激活任何一张表时 SheetBeforeDoubleClick 双击任何工作表时 SheetBeforeRightClick 鼠标右键单击任一工作表时 SheetCalculate 工作表重新计算时 SheetChange 更改工作表中的单元格时 SheetDeactivate

任一工作表由活动状态转为非活动状态时 SheetFollowHyperlink 单击 Microsoft Excel 中的任意超链接时 SheetPivotTableUpdate 数据透视表的工作表更新之后 SheetSelectionChange 工作簿中的数据透视表更新之后 WindowActivate 工作簿的窗口激活时 WindowDeactivate 工作簿的窗口变为非活动状态时 WindowResize 工作簿窗口调整大小时 本示例在打开工作簿时将 Microsoft Excel 窗口最大化。 Sub Workbook_Open() ? ? = xlMaximized End Sub ? ? ? ? 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 AddinInstall 事件 当工作簿作为加载宏安装时,产生此事件。 Private Sub Workbook_AddinInstall() 示例 当指定工作簿作为加载宏安装时,本示例将一个控件添加到常用工具栏中。 Private Sub Workbook_AddinInstall() ? ? With ("Standard"). ? ?? ???.Caption = "The AddIn's menu item" ? ?? ???.OnAction = "''!Amacro"

Excel全部窗体事件详解_值得收藏.

一个控件从同一窗体的另一个控件实际接收到焦点之前,Enter 事件发生。同一窗体中的一个控件即将把焦点转移到另一个控件之前,Exit 事件发生。 语法 Private Sub object_Enter( ) Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean) Enter和Exit事件的语法包含以下成分: 成分说明 object必需。一个有效的对象名。 Cancel必需。事件状态。False表示由该控件处理这个事件(这是默认方式)。True表示由应用程序处理这个事件,并且焦点应当留在当前 控件上。 说明 Enter 事件和 Exit 事件与 Visual Basic 中的 GotFocus 和 LostFocus 事件类似。与 GotFocus 和LostFocus 事件不同的是,当窗体接收或失去焦点时 Enter 事件和 Exit 事件不发生。 例如,假如选中了可初始化 Enter 事件的复选框,而后如又选中同一窗体中的另一个控件,那么对于该复选框来说,Exit 事件被初始化(因为焦点正在移到同一窗体中的不同对象上),而对于该窗体中的第二个控件来说,Enter 事件发生。 因为 Enter 事件发生在焦点移到一特定控件上之前,所以可用 Enter 事件过程来显示指令。例如,可用一个宏或者事件过程来显示一个小窗体或消息框,标识控件一般所包含的数据类型。 注意将控件 Exit 事件的Cancel参数赋值为True,可防止控件失去焦点。 当将控件插入到窗体、框架或多页控件中的一个页面中时,此事件发生。 语法 对于框架 Private Sub object_AddControl( ) 对于多页 Private Sub object_AddControl(index As Long, ctrl As Control) AddControl事件的语法包含以下成分: 成分说明 object必需。一个有效的对象。 index必需。包含新控件的页面的索引。

VBA工作薄、工作表事件一览表

[VBA程序开发]工作薄、工作表事件一览表[复制链接] 翻箱倒柜,无意中发现个好东东 放到这里,大家查着也方便 工作簿对象事件一览表 当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。若要查看工作簿的事件过程,请用鼠标右键单击处于还原状态或最小化状态的工作簿窗口标题栏,再单击快捷菜单上的“查看代码”。在“过程”下拉列表框内选择事件名称。 事件 说明 Activate 激活工作薄时 AddinInstall 当工作簿作为加载宏安装时 AddinUninstall 工作簿作为加载宏卸载时 BeforeClose 关闭工作薄前 BeforePrint 打印工作薄(或其中任何内容)之前 BeforeSave 保存工作薄前 Deactivate 工作簿从活动状态转为非活动状态时 NewSheet 在工作簿中新建工作表时 Open 打开工作簿时 PivotTableCloseConnection 在数据透视表关闭与其数据源的连接之后PivotTableOpenConnection 在数据透视表打开与其数据源的连接之后 SheetActivate 激活任何一张表时 SheetBeforeDoubleClick 双击任何工作表时

SheetBeforeRightClick 鼠标右键单击任一工作表时 SheetCalculate 工作表重新计算时 SheetChange 更改工作表中的单元格时 SheetDeactivate 任一工作表由活动状态转为非活动状态时 SheetFollowHyperlink 单击 Microsoft Excel 中的任意超链接时 SheetPivotTableUpdate 数据透视表的工作表更新之后 SheetSelectionChange 工作簿中的数据透视表更新之后 WindowActivate 工作簿的窗口激活时 WindowDeactivate 工作簿的窗口变为非活动状态时 WindowResize 工作簿窗口调整大小时 本示例在打开工作簿时将 Microsoft Excel 窗口最大化。 Sub Workbook_Open() Application.WindowState = xlMaximized End Sub Activate 事件 激活一个工作簿、工作表、图表或嵌入图表时产生此事件。 Private Sub object_Activate() object Chart、Workbook、或者 Worksheet。有关对 Chart 对象使用事件的详细信息,请参阅 图表对象事件的用法。 说明 切换两个显示同一个工作簿的窗口时,将产生 WindowActivate 事件,但不产生工作簿的 Activate 事件。 新建窗口时不产生本事件。 示例 当激活工作表时,本示例对 A1:A10 区域进行排序。

Excel VBA实例教程 #020:工作表事件Target参数的使用方法

在工作表的SelectionChange事件中,参数Target代表新选定的区域,在工作表的Change 事件中参数Target代表更改的区域。在实际应用中可以使用Target参数将触发工作表事件的区域限制在一定的范围内,有以下几种方法: 1、使用单元格的Address 属性 使用单元格的Address属性可以将触发条件限制在某一个单元格中,如下面的代码所示。 1.Private Sub Worksheet_SelectionChange(ByVal Target As Range) 2. If Target.Address(0, 0) = "A1" Then 3. MsgBox "你选择了A1单元格" 4. End If 5.End Sub 代码解析: 当选择工作表A1单元格时显示一个消息框。 第2行代码使用Address属性返回所选单元格的区域引用,当返回的区域引用是“A1”时触发SelectionChange事件,显示一个消息框。 此方法只适用于单个单元格或者加上OR运算符可以适用于几个单元格,多则不方便。 2、使用Column属性和Row属性 使用单元格的Column属性和Row属性可以将触发条件限制在某一区域内,如下面的代码所示。 1.Private Sub Worksheet_Change(ByVal Target As Range) 2. If Target.Column = 1 And Target.Row < 11 Then 3. Target.Offset(, 1) = Val(Target) * 3 4. End If 5.End Sub 代码解析: 当改变工作表的A1到A10单元格时,如果输入的是数值则将在对应的B列单元格写入乘以3的数值。 第2行代码使用Column属性将触发条件限制在第1列,使用Row属性将触发条件限制在第10行以内,也就是A1到A10的区域范围内。 3、使用Intersect方法

VBA中事件的应用

VBA中事件的应用 在Excel VBA中,事件是指对象可以辨认的动作。用户可以指定VBA代码来对这些动作做出响应。Excel可以监视多种不同类型的事件,Excel中的工作表、工作簿、应用程序、图表工作表、透视表和控件等对象都可以响应事件,而且每个对象都有多种相关的事件。 48.1 事件过程 事件过程作为一种特殊的Sub过程,在满足特定条件时被触发执行,如果事件过程包含参数,系统会为相关参数赋值。事件过程必须写入相应的模块中才能发挥其作用,例如:工作簿事件过程须写入ThisWorkbook模块中,工作表事件过程则须写入相应的工作表模块中,且只有过程所在工作表的行为可以触发该事件。 事件过程作为一种特殊的Sub过程,在VBA中已经规定了每个事件过程的名称和参数,当然用户可以利用键盘在代码窗口中手工输入事件过程的全部代码,但是更方便快捷的方法是在代码窗口中选择相应的对象和事件,VBE将自动在代码窗口中添加事件过程的声明语句和过程结束语句。 在代码窗口上部左侧的对象下拉框中选中WorkSheet,在右侧的事件下拉框中选中Change,Excel将自动在代码窗口中写入如图48-1所示的工作表Change事件过程代码框架。 图48-1 代码窗口中快速添加事件代码框架 事件过程的代码需要写入在Sub和End Sub之间,在代码中可以使用事件过程参数,不

同的事件过程,其参数也不尽相同。 48.2 工作表事件 Worksheet对象是Excel的最常用的对象之一,因此实际应用中经常会用到Worksheet 对象事件。工作表事件发生在特定的Worksheet对象中。 48.2.1 Change事件 工作表中的单元格被用户或者VBA代码修改时,将触发工作表的Change事件。值得注意的是,虽然事件的名称是Change,但是并非工作表中单元格的任何变化都能够触发该事件。 下列工作表的变化不会触发工作表的Change事件: ◆ 工作表的公式计算产生新值 ◆ 在工作表中添加或者删除一个的对象(控件、自选图形等) ◆ 改变工作表的单元格格式 ◆ 某些导致单元格变化的Excel操作:排序、替换等 某些Excel中的操作将导致工作表的Change事件被意外触发: ◆ 在空单元格中按键 ◆ 单击选中已有内容的单元格,输入与原来内容相同的内容,然后按键结束输 入 Change事件的参数Target是一个Range变量,代表工作表中发生变化的单元格区域,它可以是一个单元格也可以是多个单元格组成的区域。在实际应用中,用户通常希望只有工作表中的某些特定单元格区域发生变化时,才激活change事件,这就需要在Change事件中对于Target参数进行判断。

Excel全部窗体事件详解值得收藏

E x c e l全部窗体事件详解 值得收藏 The pony was revised in January 2021

一个控件从同一窗体的另一个控件实际接收到焦点之前,Enter事件发生。同一窗体中的一个控件即将把焦点转移到另一个控件之前,E x i t事件发生。语法 PrivateSub object_Enter() PrivateSub object_Exit(ByVal Cancel AsMSForms.ReturnBoolean) Enter和Exit事件的语法包含以下成分: 成分说明 object必需。一个有效的对象名。 Cancel必需。事件状态。False表示由该控件处理这个事件(这是默认方式)。 True表示由应用程序处理这个事件,并且焦点应当留在当前控件上。 说明 Enter事件和Exit事件与VisualBasic中的GotFocus和LostFocus事件类似。与GotFocus和LostFocus事件不同的是,当窗体接收或失去焦点时Enter事件和Exit事件不发生。

例如,假如选中了可初始化Enter事件的复选框,而后如又选中同一窗体中的另一个控件,那么对于该复选框来说,Exit事件被初始化(因为焦点正在移到同一窗体中的不同对象上),而对于该窗体中的第二个控件来说,Enter事件发生。 因为Enter事件发生在焦点移到一特定控件上之前,所以可用Enter事件过程来显示指令。例如,可用一个宏或者事件过程来显示一个小窗体或消息框,标识控件一般所包含的数据类型。 注意将控件Exit事件的Cancel参数赋值为True,可防止控件失去焦点。 当将控件插入到窗体、框架或多页控件中的一个页面中时,此事件发生。 语法 对于框架 PrivateSub object_AddControl() 对于多页 PrivateSub object_AddControl(index AsLong,ctrl AsControl) AddControl事件的语法包含以下成分: 成分说明

VBA工作簿事件

Private Sub Workbook_Activate() MsgBox "工作簿被切换为作用工作簿", vbInformation, "Workbook_Activate" End Sub Private Sub Workbook_AddinInstall() MsgBox "激活新的加载宏时", vbInformation, "Workbook_AddinInstall" End Sub Private Sub Workbook_AddinUninstall() MsgBox "取消以前选取的加载宏时", vbInformation, "Workbook_AddinUninstall" End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) MsgBox "工作簿被关闭之前", vbInformation, "Workbook_BeforeClose" End Sub Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "工作簿打印之前", vbInformation, "Workbook_BeforePrint" End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "工作簿进行保存之前", vbInformation, "Workbook_BeforeSave" End Sub Private Sub Workbook_Deactivate() MsgBox "工作簿切换为非作用工作簿", vbInformation, "Workbook_Deactivate" End Sub Private Sub Workbook_NewSheet(ByVal Sh As Object) MsgBox "新建工作表", vbInformation, "Workbook_NewSheet" End Sub Private Sub Workbook_Open() MsgBox "打开工作簿", vbInformation, "Workbook_Open" End Sub Private Sub Workbook_PivotTableCloseConnection(ByVal T arget As PivotTable) MsgBox "数据透视表关闭与其数据源的连接之后", vbInformation, "Workbook_PivotTableCloseConnection" End Sub Private Sub Workbook_PivotTableOpenConnection(ByVal Target As PivotTable) MsgBox "数据透视表打开与其数据源的连接之后", vbInformation, "Workbook_PivotTableOpenConnection" End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) MsgBox "工作表" & https://www.doczj.com/doc/ff7466159.html, & "切换为作用工作表", vbInformation, "Workbook_SheetActivate" End Sub Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox "任一单元格双击鼠标之后", vbInformation, "Workbook_SheetBeforeDoubleClick" End Sub Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

使用Excel工作表来安排工作——OnTime事件

使用Excel工作表来安排工作——OnTime事 件 前不久,有位朋友问:由于工作太多太杂,导致经常常忘记要做的事情,希望利用Excel工作表来定时提醒要进行的工作。也就是说,在到达某个时刻后,工作表中的文本框会自动显示该时刻应该做的工作。如下面的图1和图2所示,图1为工作安排表,A列为工作安排,B列为开始该工作的时间;图2为用于显示当前应进行的工作。 图1:工作安排表,在A列中是工作安排,B列中是工作开始的时间。可根据需要修改和添加 图2:显示当前工作的界面。单击“显示”按钮后程序开始工作,当达到某时刻后,文本框中会显示当前应进行的工作 (注:这只是示例,可以根据自已的实际需要在图1的工作表中增加工作安排及相应的时间) 程序代码如下: Option Explicit Sub DisplayData() Application.OnTime Now + TimeSerial(0, 0, 1), “ChangeText” End Sub Sub ChangeText() Dim rng As Range, rngFind As Range, rngValue As Range Dim rngStart As Range Dim dTime As Date Dim lLastRow As Long On Error Resume Next lLastRow = Sheet3.Range(”B65536″).End(xlUp).Row Set rng = Sheet3.Range(”B1:B” &lLastRow) dTime = Time Set rngFind = rng.Find(dTime) Sheet5.TextBox1.Value = rngFind.Offset(0, -1).Value DisplayData End Sub 工作表中的“显示”按钮关联的子过程为“DisplayData”。

相关主题
文本预览
相关文档 最新文档