![b573ccfad0a8645a5684561b64727b2f.png](https://i-blog.csdnimg.cn/blog_migrate/4efae47f65696fb77fad8ad45f1f2bd4.png)
大家好,我们今日继续讲解VBA代码解决方案的第108讲内容:VBA中什么是方法,什么是事件,在上一讲中我们讲了对象的属性,相信大家一定对上面的概念有了清楚的认识,今日我们继续讲解两个十分重要的概念:方法和事件
一:什么是方法:方法就是在对象上执行的某个动作。每个对象都有可以应用在自己身上的方法。
和属性相比,属性表示的是对象某种状态或样子,是静态的,就像是语文里描述事物时用到的名词、形容词和副词,而方法则是做某件事的一个动作,就像动词,对象和方法同样用点来分隔。
例如:Range对象有有一个方法是Select。这是什么意义呢?他的作用是选中指定的Range(单元格区域)对象。
所以可以看出,方法是所用在对象上的,上面的 Select作用的对象就是 Range。
二:什么是事件
简单点说,事件就是由用户或者系统触发的,可以在代码中响应的一段代码。例如,当我们移动鼠标,打开工作薄,激活工作表,选中单元格,改变单元格的数值,点击按钮或窗体,敲击键盘等等这些都会产生一系列的事件。我们可以通过编写代码响应这些事件,当发生此类事件时,程序代码就会进行相应的操作。
举例说明,我们需要当激活某工作薄的时候,自动弹出一个对话框,告诉我们激活的工作表的名称。
(1)打开一个工作表,Alt+F11打开VBE窗口,在“工程对象管理器”窗口里双击你要进行设置的工作表,使其代码窗口显示。
(2)左面选择对象Worksheet(工作表对象),右面选择Activate事件,我们可以看到在代码窗口里系统已经为我们自动输入了一段代码。
Private Sub Worksheet_Activate()
End Sub
截图:
![047382ff4693e45d92d030d0b4b91ae5.png](https://i-blog.csdnimg.cn/blog_migrate/f3e0734506e27adbb8109053482da679.jpeg)
不必完全记住对象及事件的名称,也不必手工输入,系统早为你准备好了,你可以在代码窗口里进行选择,左边是对象,右面是事件,如果你想知道某个对象(例如工作薄、工作表、窗体等)有哪些事件,只需要双击这个对象,然后在窗口里查看即可。我们需要做的只是:当自己需要它的时候,知道打开哪个箱子把它拿出来即可.
为了要达到问题的目的,我们只需要在已给我们列出的两段代码中间加入需要进行操作的代码就可以了,MsgBox "你现在激活的工作表名称是:" & ActiveSheet.Name
全部的代码:
Private Sub Worksheet_Activate()
MsgBox "你现在激活的工作表名称是:" & ActiveSheet.Name
End Sub
截图:
![e51be8c589022e9d5eb5e857519522b1.png](https://i-blog.csdnimg.cn/blog_migrate/6a87997ff770774e57da6b81b27f0aa2.jpeg)
回到工作表,激活你刚才设置代码的工作表,如果你刚才设置的工作表是激活状态,请选择其他工作表,然后再重新激活它,看看你看到了什么?
![524a9b189f96becb0c7fa2767a0adf50.png](https://i-blog.csdnimg.cn/blog_migrate/9604466480537e0284f4485d54548324.jpeg)
再回顾一下上面的代码,
Private Sub Worksheet_Activate()
MsgBox "你现在激活的工作表名称是:" & ActiveSheet.Name
End Sub
对象: Worksheet
事件: Activate
发生 Activate事件要响应的代码:MsgBox "你现在激活的工作表名称是:" & ActiveSheet.Name
三 比较一下事件和方法
1 是否可以响应代码。方法是系统自己内部定义了代码,不需要响应我们的代码,但可以传送参数,如:range.select;而在事件中要写代码,必须要响应我们的代码,事件中如果不写代码,那么这个事件就和没发生一样。
2方法是不需要触发,对象就可以做的事情;.事件是需要触发信息给对象,对象才能做的事情。至于什么是触发信息,读者只可以自己体会,如工作表的激活是事件,但工作表的选择却是方法。
3方法仅仅是对象的一种可执行的动作,但在事件中,对象可以完成一系列的任务。
方法是对象在程序中执行的一种可执行的操作,他仅仅是这个对象的一种可执行的操作,一般是“对象.方法”的语句格式,例如打开、保存等等。
事件是对象所执行的一种特有的动作,例如单击事件、双击事件、激活事件等等,对于对象不同,事件是有不同的。在事件中可以完成一系列任务
今日内容回向:
1 什么是方法?
2 什么是事件?
3 方法和事件有什么区别?
我的自媒体平台:微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。
《VBA代码解决方案》终于可以和大家见面了,这些内容均在这个平台上发表过,现结集成册,PDF文件,其中内容(含代码)可以复制,有需要的朋友微信联络我,前百名的朋友按最优惠推送。详细信息参考“前言”内容。联络微信 NZ9668
![af69b97eb92c0e22fffa39b96bc5eb9c.png](https://i-blog.csdnimg.cn/blog_migrate/77f59aae1bef6376587fd07e35c1945b.jpeg)
![f5f90c201d67c170625bae734714cb2a.png](https://i-blog.csdnimg.cn/blog_migrate/598a524a66a17db51b2d62046c5f1863.jpeg)
![289cfd0f01239131663e0cf8ac0f8dad.png](https://i-blog.csdnimg.cn/blog_migrate/2f68301fa1c6659c1a58a8ea18214a20.jpeg)