大家好,前面几节课我们学习了有关过程的基础知识,从本节课开始,我们开始具体介绍各个不同的过程。还记得在VBA中过程的类别吗?它们分别是:Sub子过程、Function函数过程、Property过程

前面两个过程类型是我们常见的,所以接下来我们一同探究Sub子过程、Function函数过程。今天先看Sub子过程。

Sub子过程包含完成某项任务的一系列VBA代码,Sub子过程没有返回值,但是可以接受参数。Sub子过程在开头部分都包含了Sub关键字,在结束部分则以End Sub结尾。通常Sub子过程可以分为事件Sub子过程和通用Sub子过程。

事件Sub子过程

事件子过程是由VBA自行声明并附在窗体、控件、工作表、工作簿对象上。用户不可以对事件过程声明进行增加或删除。当用户在某个对象上引发一个动作时,Windows会通知VBA产生一个事件,并且VBA会自动地调用与该事件相关的事件过程。事件Sub子过程的调用格式如下:   Private Sub 对象名_事件名([参数表])   语句块   End Sub   上面的调用格式中,事件过程的过程名格式是固定的。该名称将对象名和事件名通过下划线连接。对象名是对象在VBE属性窗口的名称属性。事件名种类非常多,而且不同的对象类型其事件也可能不一样。例如,窗体对象包含了初始化事件和卸载事件,文本框包含了文本框改变事件。下面演示一下这类事件Sub子过程的建立方法: (1)、切换到VBE窗口,在工程资源管理器中双击某个对象,这里我们双击名叫“名单”的工作表:

(2)、打开其代码窗口,在代码窗口左上方的对象选择下拉列表框中选择“Worksheet”:

此时会自动弹出一个默认的事件Sub子过程代码:单元格选择变化事件。

(3)、此时我们就可以在上面的框架中写代码了,写一个示例代码: 

(4)、整体效果:

以上就是本节的事件Sub子过程的介绍,从上面的介绍可以看出,事件子过程的声明代码是由系统自动完成的。我们在建立事件过程时并不需要手打输入事件过程的声明代码,而只需要在代码窗口中选择对应的对象以及事件名即可,事件过程的声明部分可能还包含了部分参数,这些参数通常是由事件过程自动捕获的。当然了,你若选择完全手动输入那也是可以的,但我相信你不会那么做