一个简单的Excel VBA程序
时间:2022-08-26 20:21:22
VBA是一种“寄生”在主应用程序(例如Excel)中的语言,正是因为这样的特殊性,所以我们先介绍了与主应用程序相关的对象模型和很多对象,以及如何引用这些对象及其属性和方法。
我的思路(当然也是笔者在当初学习Excel VBA时的经难)是,先带领读者认识一些常用的对象及其表示。因为只有你先知道了要使用的对象,才能达到自已的目的。如果你都不知道你要操作什么,空有一番本领,也会感觉一头雾水。
既然你现在已经认识了不少的Excel对象,也知道了它们是如何在Excel中表示的,知道了对象的方法和属性的表达方法,那么就可以进入下一步了。
下面,我们主要介绍VBA语言本身。与此同时,进一步认识Excel的对象,并一步一步地让你具备开发出满足自已需求的程序的能力。
先编写一个非常简单的Excel VBA程序。
[复习]准备代码输入环境
按Alt+F11组合键,打开VBE编辑器。单击菜单“插入——模块”,插入一个标准模块,VBE会自动命名为“模块1”,如中的箭头所示。
在中③所标识的代码编辑窗口中,输入代码。
说明:本系列文章中以后所说的输入代码,如无特殊说明,要么是在插入新模块后的代码窗口中输入代码,要么是双击相应的代码模块后在其代码窗口中输入代码。这些细致的差别看似简单,却往往是一些初识VBA的朋友迷惑或者出问题的地方。
输入程序代码
在“模块1”的代码窗口中,输入下所示的代码。
观察中的代码,我们可以看到3种颜色:绿色、蓝色、黑色。一般来说,代码注释显示为绿色,VBA的保留字显示为蓝色,而其他内容显示为黑色。
说明:当输入保留字时,VBE会自动将其首字母大写。保留字不可以用作变量名,否则程序会报错。
注释
代码注释以撇号(‘)开头。除了代码语句中间外,注释可以放置在程序的任何地方。
在示例程序中,我给每行代码都添加了注释,表明代码的功能。有的注释是单独占有一行,有的注释放置在代码语句后面。
注释可以用于说明整个程序的功能和相关信息,也可以用于说明某段代码或某条语句的作用。在很久之后重新打开程序时,注释让我们能够更容易地理解程序,也能够让阅读程序的人尽快了解程序,因此应养成对程序进行注释的习惯,特别对于较大的程序来说,注释必不可少。
VBA程序的基本结构
VBA有两种基本的过程,分别称为Sub过程和Function过程,如下所示。
VBA程序就是以这两种基本的结构组成的。
一般来说,Sub过程用于放置直接执行的代码,执行过程相当于操作Excel中的各种命令按钮或菜单。Function过程相当于Excel中的各类函数,通常会返回值。
VBA程序语言元素
再次观察中的代码,在Sub过程中,有一些VBA语言元素,除了注释或固定的基本结构外,还包括:
变量Str
数据类型string
保留字Dim,As
赋值运算符=
此外,有些程序中可能还会包括VBA函数、条件或循环语句,这些都是组成VBA程序的元素。在后续的系列中,我们将对这些内容逐一解。
[复习]运行程序代码
按照Excel VBA解读(3):VBA代码之家中所述的执行代码,可得到下方所示的结果。
说明:大家可以参照Excel VBA解读(3):VBA代码之家中的“执行代码”节执行代码,也可以使用自已习惯的执行VBA代码的方式。关于执行VBA代码的方法有很多,以后的系列文章中我们专题述。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
word 分栏设置页码,实现一个页面两个页码
![](https://img.aspxhome.com/file/2023/4/32334_0s.gif)
excel输入值非法解决步骤(图文教程)
![](https://img.aspxhome.com/file/2023/1/43031_0s.jpg)
excel表格如何制作一个清晰的表头?
![](https://img.aspxhome.com/file/2023/3/40943_0s.jpg)
在WORD中快速录入数学公式的技巧
Word中如何在剪辑库中添加图片
![](https://img.aspxhome.com/file/2023/7/21037_0s.gif)
Excel如何限制工龄工资核算年数的上线
![](https://img.aspxhome.com/file/2023/2/37752_0s.png)
word2010:标尺与网格线设置小技巧
![](https://img.aspxhome.com/file/2023/3/24873_0s.jpg)
Excel工具栏不见了该怎么找回来?
![](https://img.aspxhome.com/file/2023/2/42452_0s.jpg)
Win10字体怎么删除?
![](https://img.aspxhome.com/file/2023/6/50916_0s.jpg)
word文档怎么设置页面背景颜色
硬盘使用DiskGenius分区工具4K对齐
![](https://img.aspxhome.com/file/2023/0/48340_0s.png)
如何在Excel表格中插入迷你图
![](https://img.aspxhome.com/file/2023/9/42939_0s.png)
Word文档放入动图不动怎么办
![](https://img.aspxhome.com/file/2023/7/34187_0s.png)
word如何进行缩进的设置?word首行缩进方法介绍
![](https://img.aspxhome.com/file/2023/8/26808_0s.jpg)
简化数字长度!excel设置数字为千分位数值
![](https://img.aspxhome.com/file/2023/2/40912_0s.jpg)
Excel2010如何创建一个数据透视表处理数据?
![](https://img.aspxhome.com/file/2023/8/42528_0s.jpg)
wps文字方向怎么调整
![](https://img.aspxhome.com/file/2023/0/53460_0s.jpg)
excel单元格内的一元二次方程怎么求解?
![](https://img.aspxhome.com/file/2023/0/a141740_0s.jpg)
Win10无法连接steam网络怎么办?Win10无法连接steam网络的解决方法
![](https://img.aspxhome.com/file/2023/6/50406_0s.png)
Excel2007如何设置只读加密属性,保护数据安全
![](https://img.aspxhome.com/file/2023/6/39066_0s.jpg)