龙空技术网

VBA代码窗口、模块的简单讲解及ThisWorkbook工作簿代码应用

VBA语言専攻 1611

前言:

此时兄弟们对“excel vba 类模块用法”大约比较关心,各位老铁们都想要了解一些“excel vba 类模块用法”的相关资讯。那么小编同时在网络上网罗了一些对于“excel vba 类模块用法””的相关资讯,希望兄弟们能喜欢,你们快快来了解一下吧!

讲了很长时间的VBA,今日和大家讲解一下VBA代码的简单知识。

一 代码窗口

VBA的代码窗口包括工作表事件代码窗口、ThisWorkbook事件代码窗口、窗体代码窗口、标准模块代码窗口和类模块代码窗口。打开某个对象的代码窗口的方法是在该对象上单击右键,从中选择【查看代码】。或者双击进入。

例如:要进入ThisWorkbook的代码窗口,在左方的工程资源管理器中右击ThisWorkbook,在弹出的快捷菜单中选择【查看代码】,右边的代码窗口将切换到ThisWorkbook的代码窗口。

注意点:在VBA中,过程包括子过程(Sub开头)、函数过程(Function开头)和属性过程(Property开头)。每一段完整的程序都是一个独立的过程,每录制一次宏将产生一个过程。一个模块中可以存放多个过程,但同一个过程的代码不能放在多个代码窗口中,因为过程中的代码必须是连续的。然而VBA允许不同模块中的过程相互调用,即A过程可以执行B过程的功能。

二 工作簿代码事件

ThisWorkbook对象代表代码所在的工作簿,ThisWorkbook代码窗口也称为工作簿事件代码窗口。VBA中的事件是指对象在满足指定的条件时需要做出的反应,其中工作簿事件代码是指工作簿在满足代码所指定的条件时自动执行的代码。如果工作簿事件代码存放在ThisWorkbook以外的窗口,则将失去其自动性,代码同时也失去了存在的价值。所以对于一切工作簿事件相关的代码,都必须保存在ThisWorkbook代码窗口中。例如工作簿的Workbook_open事件代码的存放方式,它的功能是打开工作簿时提示"陆漫漫修远VBA"。由于采用了事件,所以不需要手动执行代码,一切自动执行。如果代码保存在其他地方将会失效。

注意点:事件过程有别于标准子过程,它的命名有相当严格的规定,过程的名字和参数差一个字母或者空格都将失去预设的功能,而标准子过程的名字或者参数可以随意定义。所以通常查看一段代码的名字和参数命名方式即可判断是否属于事件。

三 窗口模块的三种类型:第一种:具有某种特定属性的模块,比如sheet1模块,sheet2模块,sheet3模块,ThisWorkbook模块,Userform模块等等。这些模块是特殊的模块,具备他们各自不同的方法、事件。第二种:标准模块,也就是我们利用"插入- 模块"得到的"模块1","模块2", 英文系统中则是"Module1"、"Module2"……在标准模块中声明的Public公有变量,公有过程可以直接被其他所有模块访问和调用。

第三种:类模块最特殊,这个模块可以创建自己的方法、事件,可以在其他模块中通过创建类模块的实例来拥有类模块的属性、方法和事件等等。四 模块的使用:1 如果代码是处理sheet1表里面的数据,那么这个代码就直接可以放在sheet1模块中即可。

如果代码要用到Workbook_open这样的事件,那么这个事件肯定要放在Thisworkbook模块中。

通常,一些公共的方法我们可以放在标准模块中。自定义函数必须放在标准模块中。

五 利用工作表代码实例:使EXCEL工作表不能打印

代码:

Private Sub Workbook_BeforePrint(Cancel As Boolean)Cancel = TrueEnd Sub

使用:打开Excel,按Alt+F11,调出VBE后,按Ctrl+r显示出工程资源管理器(默认此窗口应已显示),双击ThisWorkbook,在模块中粘入代码即可。

上述代码使用后,EXCEL将不予许打印。

今日内容回向:

1 VBA代码窗口有哪些?

2 VBA 模块有哪几种?

3 ThisWorkbook 工作薄事件代码的作用有哪些?

标签: #excel vba 类模块用法