![Excel VBA语法辞典](https://wfqqreader-1252317822.image.myqcloud.com/cover/82/603082/b_603082.jpg)
1.1 创建和管理宏
用户对VBA知识还不熟悉的时候,宏是最好的入门方法。用户可以在不了解VBA语法和对象的前提下,通过录制宏了解宏完成的基本功能。本节将详细讲解如何创建和管理宏。
案例1 录制宏
功能说明:本实例的主要功能是演示如何在Excel 2007中录制宏,在用户对Excel VBA某些方面的知识不太了解的时候,通过录制宏来了解Excel如何“记录”操作是最好的方法。
语法说明:本案例涉及的语法是“录制”技术,这是Excel本身提供的功能。用户只需启动“录制”功能,然后进行操作。在操作结束后,设置“录制”结束,就完成整个录制过程。
案例说明:在案例中将录制一个简单的宏,这个宏实现的功能是设置单元格中数字的属性(位数、颜色等)。设置这些属性的过程并不复杂,用户可以直接查看录制后的代码。
编写代码:(1)输入数值,然后启动录制宏功能。在单元格B2中输入数值“123”,然后单击“开发工具”|“代码”|“录制宏”按钮,如图1.1所示。
(2)设置宏。在打开的“录制新宏”对话项中,在“宏名”选项中输入“设置格式”,在“说明”选项中输入“该宏的功能是设置数字格式”,并设置宏的快捷键是“Ctrl+t”,如图1.2所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0017-01.jpg?sign=1738882602-flWeHSF6eCMIEsv7xFsJHb5lN86LZagZ-0-f16a836ce38954b4136c4abf692cf36c)
图1.1 启动录制宏的功能
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0017-02.jpg?sign=1738882602-cMFoV23HZD0eD7tyMflwNYAKlFJEZPxG-0-bd1d96bdecd29f3b843405bb019683f2)
图1.2 设置宏的属性
(3)设置数字的格式。选中数字单元格,然后选择“开始”选项卡,然后依次设置数字的位数、格式和颜色等,如图1.3所示。
(4)结束录制宏。切换到“开发工具”选项卡,然后单击“停止录制”按钮,如图1.4所示。
运行结果:查看录制宏对应的VBA代码。调出VBE,查看宏对应的代码,如图1.5所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0018-01.jpg?sign=1738882602-zktC3MDfU5unKDQIfgaj3vpvh9EAjGBV-0-b680a6b78d5c655005eb5221116dda54)
图1.3 设置数字属性
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0018-02.jpg?sign=1738882602-ZfaVWnlILWXdcATa5p5SCy7ibzmvCCFS-0-8443458901a2a8be5e4c3238026efe87)
图1.4 结束录制宏
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0018-03.jpg?sign=1738882602-VQjdaCKMpObUGdsVEcoiSmo8TTpjsKRi-0-4df0d73f8a7121adc9d555060b3c027c)
图1.5 宏对应的程序代码
程序分析:在使用Excel宏的时候,尽量将宏的有用信息都填写完整,这样当用户使用宏的时候,可以通过信息来了解宏的内容。
案例2 编辑宏
功能说明:在Excel VBA中,尽管用户可以使用Excel进行自动“录制”宏,但是,Excel自动记录的VBA代码具有“自动性”。常常需要用户对其代码进行编辑,本例将详细演示如何编辑宏。
语法说明:本例将讲解如何进入编辑宏的环境,然后对VBA宏代码进行修改。本例将重新编写宏,希望用户从最后的代码对比中,查看出编辑宏的方法。
案例说明:本例的主要功能是编写和案例1自动宏功能一样的宏代码,即编写设置数字格式的宏代码。
编写代码:(1)选择编辑宏。选择“开发工具”|“代码”|“宏”选项,打开“宏”对话框,然后选择对应的宏,单击“编辑”按钮,如图1.6所示。
(2)查看对应的宏。当用户单击“编辑”按钮,进入VBE环境,编写新的宏代码,如图1.7所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0019-01.jpg?sign=1738882602-7QG9AeNEdjiDXBCTNqu15GSnt4wfgYfu-0-8cd205d07eeb07aba5c595b891173fac)
图1.6 选择编辑宏
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0020-01.jpg?sign=1738882602-SkBLg01CUjhq2G1YhqU1o0zyrOyi1JWl-0-a0f26ddc4f5a9add731b067f3a8dbe8a)
图1.7 查看相应的宏
运行结果:查看新的代码,其具体代码如下:
程序分析:本例涉及的程序代码知识和后面章节的内容类似,关于其具体的语法知识,请用户参考后面相关章节的内容。
案例3 运行宏
功能说明:在Excel VBA中,用户编写宏的主要目的是运行宏。利用宏的代码,多次完成类似的操作和功能。
语法说明:运行宏在技术上等于程序的运行和调试。如果录制完成的宏,则属于程序的运行,因为不会出现语法错误。
案例说明:本例将介绍如何在Excel中运行宏。为了让读者对宏的功能有直观的认识,本例将运行前面案例的宏。
编写代码:(1)添加原始的数据。前面案例中宏的功能是设置数字格式,因此,首先需要输入原始数据,如图1.8所示。
(2)选择运行宏。选择单元格A2,然后选择“开发工具”|“代码”|“宏”选项,如图1.9所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0021-01.jpg?sign=1738882602-pcEheDLfVwEKJy7nzmVFKYc6FUnCx3Tm-0-c97fdeb45f9bd02b8932f2aa4efc1dce)
图1.8 原始数据
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0021-02.jpg?sign=1738882602-C1cwNYHsfEqMoKb18Z8Md1Pfd3uF8we5-0-8b685a3292a8eab8e14b92d95537255b)
图1.9 选择运行宏
(3)执行宏功能。在前面步骤中打开的“宏”对话框中,单击“执行”按钮,选择执行对应的宏功能,如图1.10所示。
(4)查看宏运行的结果。当单击“执行”按钮后,查看运行的结果,如图1.11所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0022-01.jpg?sign=1738882602-IUSFMR911lp8AfJaJc1xAtlvZefOe3E2-0-aa90d0cdc2b054bdcdb90a8d409068d8)
图1.10 执行宏
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0022-02.jpg?sign=1738882602-JDxDSSPKGm6OwZycO84tddrvCjnRDkPK-0-34e914fb5404655f5e692cf5fdd34581)
图1.11 查看宏执行的结果
运行结果:依次选择其他单元格,然后分别运行宏,查看得到的结果,如图1.12所示。
程序分析:由于用户录制和编写的宏是用于设置数字格式的,因此,执行这些宏会有直观的设置结果。但是,不是每个宏都会产生直观的结果,有些宏只是完成中间处理功能。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0023-01.jpg?sign=1738882602-GF4qJjTU7uhq7bo9esPqUCq6n11fI3cB-0-f868a2478569ec2cddec71a4bfadc3e4)
图1.12 执行的结果