1.1.2 代码编辑窗口
使用VBA进行操作需要用到代码编辑窗口,用户录制的宏都会保存在其模块中,然后直接进入VBA模块中输入VBA代码。
代码编辑窗口和工作簿窗口类似,可以进行最大化、最小化等操作。在进行实质性操作之前,首先要保证VBA模块中有一些VBA代码,这些代码可以直接输入,也可以复制、粘贴,或者使用Excel宏录制器录制一系列操作,再将其转换为VBA代码。
下面介绍如何打开代码编辑窗口,并向模块中放置VBA代码。
1.激活“开发工具”选项卡
在Excel 2021默认环境下没有VBA的启动按钮,因此启动VBA之前需要经过一些设置,具体操作步骤如下:
在Excel工作簿中单击“文件”选项卡,再单击“选项”标签,如图1-2所示,打开“Excel选项”对话框。
单击左侧的“自定义功能区”标签,然后在右侧的“主选项卡”列表框中选中“开发工具”复选框,如图1-3所示。
图1-2
图1-3
单击“确定”按钮,即可在Excel选项卡的后面自动添加“开发工具”选项卡,如图1-4所示。
图1-4
“开发工具”选项卡分成了4个选项组,分别是“代码”“加载项”“控件”和“XML”,具体描述如表1-1所示。
表1-1 “开发工具”选项卡中各选项组的功能描述
(续)
在该选项卡下的“代码”选项组中单击Visual Basic按钮,即可启用VBA界面,如图1-5所示。
图1-5
2.打开代码编辑窗口并创建模块
打开代码编辑窗口并创建模块的操作步骤如下:
新建Excel工作簿,然后按Alt+F11组合键打开VBA编辑器。单击“插入→模块”菜单命令(见图1-6),即可插入VBA模块。
图1-6
3.代码编辑窗口中的功能区域介绍
代码编辑窗口主要包括工作表代码编辑窗口、模块代码编辑窗口、窗体代码编辑窗口等,是用于编写、显示以及编辑Visual Basic代码的窗口,如图1-7所示。
图1-7
知识拓展
查看某个窗体或模块等对象的代码,主要有4种方法:
● 在工程资源管理器中选中要查看的窗体或模块,然后选择“视图→代码编辑窗口”菜单命令。
● 在工程资源管理器中直接双击控件或窗体。
● 选中要查看的窗体或模块,右击,在弹出的快捷菜单中选择“查看代码”命令。
● 直接按F7键。
打开各类代码编辑窗口后,可以查看不同窗体或模块中的代码,并且可以在彼此之间进行复制、粘贴等操作。在默认VBA操作界面中,代码编辑窗口显示在右上方区域。
在代码编辑窗口中,各种功能区域的主要用法如下:
● “对象”列表框:显示所选对象的名称。可以单击列表框右侧的倒三角箭头来显示此窗体中的对象。如果在“对象”列表框中显示的是“通用”,则“过程/事件”列表框中会列出所有声明,以及为此窗体创建的常规过程。
● “过程/事件”列表框:显示“对象”列表框中所含控件的所有Visual Basic事件。若选择了一个事件,则与该事件名称相关的事件过程就会显示在窗体代码编辑窗口中。
● 窗口拆分条:主要用于拆分代码编辑窗口,可以向下拖动拆分条将代码编辑窗口分隔成两个水平窗格,且两者都具有滚动条。将拆分条拖动至代码编辑窗口的顶部或底端,或者双击拆分条,均可以恢复成默认的单个代码编辑窗口。
● 代码编辑区域:主要进行事件代码编辑、修改等操作。
● 过程视图:显示所选的程序,并且同一时间在代码编辑窗口中只能显示一个程序。
● 全模块视图:显示模块中全部的程序代码。
4.了解代码编写原则
代码的编写原则如下:
● 编写代码时善用注释,简要说明每个过程的目的,便于理解代码。
● 在代码中尽量使用灵活变量。
● VBA中的大部分对象都有相应的默认属性,比如Range对象的默认属性是Value,虽然该属性可省略,但是为了便于理解,建议写出来。
● 编写循环代码时,尽量不要使用GoTo语句,除非是非用不可。
● 使用循环结构设计代码时,只要达到了目的就应该退出循环,这样可以减少不必要的循环功能。
● 在代码中经常需要对单元格或者单元格区域进行引用,当区域中添加或者删除行时,容易造成引用区域错误,建议首先对指定的单元格区域定义名称。
● 编写代码的时候,保持一个模块实现一项任务,一个窗体实现一项功能,将实现不相关功能的代码放在不同模块中,在窗体模块的代码中只包含操作窗体控件的过程,这样的代码更容易维护和重复利用。
● 在代码中添加错误处理代码,跟踪并采取相应的操作,避免运行代码时发生错误,从而导致其停止运行。
5.快速编写代码的技巧
了解代码的输入方法后,接下来介绍快速地输入代码和编写高效代码的技巧。尤其是在编写较长代码的时候,可以利用VBA的相关设置和工具,有效提高输入代码的速度。操作步骤如下:
在已彔制了宏的工作簿中,按Alt+F11组合键打开VBA编辑器迚入VBA界面,然后单击“工具→选项”菜单命令,弹出如图1-8所示的“选项”对话框,可以看到各个选项卡下默认的选项情况。
图1-8
取消对其中的“自动语法检测”复选框的勾选,这样可以避免代码模块的语句在出现编译错误时弹出如图1-9所示的错误消息提示框。
图1-9
知识拓展
默认情况下,“选项”对话框中会自动勾选“自动列出成员”“自动显示快速消息”以及“自动显示数据提示”复选框,这都是为了在输入代码的时候可以提供辅助输入提示或者必要的参考信息。