![Excel VBA语法辞典](https://wfqqreader-1252317822.image.myqcloud.com/cover/82/603082/b_603082.jpg)
1.2 使用VBE
在本节中,用户将了解VBA的编辑环境VBE。熟悉VBE各部分组件的功能和设置,这将会给读者编写代码带来很大的便利。用户可以根据自己编码的习惯显示不同的窗口并设置VBE的编码属性。本节将结合具体例子讲解如何使用VBE。
案例4 添加模块
功能说明:模块是VBA编程的起点,几乎所有的代码都保存在某个模块中。本例将讲解如何添加模块。
语法说明:在Excel VBA中,通常有三种方法向工程中添加模块:
·录制宏。当用户录制宏时,系统将自动插入VBA模块,并将宏代码放在该模块中。
·在VBE中,选择工具栏中的“插入”|“模块”选项。
·在VBE中,右击“工程”子窗口,弹出快捷菜单,选择“插入”|“模块”选项。
案例说明:在本例中,首先演示如何在VBE中添加新的模块,然后设置模块的属性。
编写代码:(1)添加新的模块。右击“工程”子窗口,弹出快捷菜单,选择“插入”|“模块”选项,如图1.13所示。添加后的新模块如图1.14所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0024-01.jpg?sign=1738885913-6zKh7ETxFTaxHPGSuKx84m4cOywkiWqq-0-92f064fab83075ca8fabf93f1a0252d9)
图1.13 进入VBE环境
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0024-02.jpg?sign=1738885913-oQU34nTywu6MojQR6jLfTiMShdTUmnO0-0-4a04dff99c8d7d10a02c2db3f46edd93)
图1.14 添加的新模块
(2)修改模块的名称。在“属性”列表中,在“名称”选项中输入“MyModule”,修改模块的名称,结果如图1.15所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0025-01.jpg?sign=1738885913-hLm7HHttdMzJRzkb5lRZTXa9V9KhgXgF-0-84edbd47e11b3d22b689293db75d300c)
图1.15 修改模块的名称
运行结果:从前面的结果中,用户可以查看添加的模块,如图1.16所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0025-02.jpg?sign=1738885913-XoFbz5FM9LL1Y74PBni2FzMstvvifkKV-0-9266a8585ea9418318d34520f7ba460e)
图1.16 添加的模块
程序分析:当工程中的模块较少时,可以使用默认的名称。但是,当工程比较复杂,模块比较多时,建议用户在添加模块的时候,自行设置符合工程属性的名称。
案例5 导出模块
功能说明:用户在实际开发时,特别是开发大型程序时,会遇到功能雷同的模块。例如,在多个项目中,都需要使用“设置格式”功能。用户可以避免每次都编写同样的模块,而只需编写一个模块,然后将其导出保存。当需要使用这种功能时,导入这个模块。
关键技术:在Excel VBA中,根据输出类型的不同,用户可导出三种模块:模块、类模块和窗体。根据不同类型的模块,可以导出的文件类型也不同。具体文件类型如下:
·BAS:导出模块文件的扩展名。
·FRM或FRX:导出用户窗体的扩展名。
·CLS:导出类模块的扩展名。
案例说明:本例将演示如何将编写的模块导出并保存。
编写代码:(1)复制前文中的“录制宏”文件,并将其名称修改为“导出模块”。然后按快捷键“Alt+F11”,进入VBE,如图1.17所示。
(2)选择导出模块。选中前面章节添加的模块,右击鼠标,在弹出的快捷菜单中选择“导出文件”选项,如图1.18所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0026-01.jpg?sign=1738885913-Lg2dOxBLtsFoW0v4omeoCgWs5doJooUB-0-03008df39f20289855c1a1af092879b7)
图1.17 进入“导出模块”的VBE
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0027-01.jpg?sign=1738885913-IUbvTV8MArvXWin7fJ55BtEnJMsnVbYJ-0-90a80de5bf8f87774b1aba78182bab9c)
图1.18 导出模块
(3)选择文件的保存路径。选择对应的选项后,Excel会弹出“导出文件”对话框,在其中选择导出模块的保存路径,如图1.19所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0027-02.jpg?sign=1738885913-zNVytNiNFnZxOdUJ3ErcfrLXywp4142s-0-dd7fbd7ba9c474e783ace2ca5b68621a)
图1.19 选择保存路径
运行结果:查看导出的模块。在模块保存的路径中,用记事本打开模块文件,如图1.20所示。
程序分析:当用户导出模块时,可以自定义模块的名称,用户可以根据定义的模块名称,来查看或者分析模块功能。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0028-01.jpg?sign=1738885913-3ZdlImff248pQqU2ghUHl9ObRogZXHzu-0-4e3c033bef4a0269062829149378af6e)
图1.20 查看导出的模块
案例6 导入模块
功能说明:前面案例已经讲解到,导出模块的主要功能是为了在其他情况下,能够使用该模块的功能。使用模块功能的主要方法就是导入模块。
语法说明:导入模块是导出模块的反向操作。当用户导入模块时,VBE根据扩展名来判断导入的模块类型,具体是模块、类模块或窗体。
案例说明:本案例将演示如何向VBA文档中导入之前保存的模块文件。
编写代码:(1)新建Excel文件,然后进入VBE环境,选择工具栏中的“文件”|“导入文件”命令,如图1.21所示。
(2)选择需要导入的文件。在前面步骤中打开的“导入文件”对话框中,选择前面案例中导出的文件模块,然后单击“打开”按钮,如图1.22所示。
运行结果:当用户单击“打开”按钮后,在Excel VBA中导入相应的模块,如图1.23所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0029-01.jpg?sign=1738885913-354NMmGPdZDVw8pI3BbZRZM5dhSWFQga-0-8e87d1aa4bd817b49eb4e57f03d2c8fa)
图1.21 选择导入文件
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0029-02.jpg?sign=1738885913-4Eq8sw41GYMkdNVDGkDnvX3ly89bJM02-0-72b1d52219a70ce300d0fb983c03ef77)
图1.22 导入文件
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0029-03.jpg?sign=1738885913-h2VDzgsS4katkGPGE3zo64HhuIPzJvJ3-0-20c4771a8e6deab1019987a130d42dcb)
图1.23 导入的模块
程序分析:当用户向Excel VBA文件中导入其他类型的模块文件,操作方法和本例类似,这里不再重复介绍。
案例7 显示属性列表
功能说明:当用户在进行VBA编程时,经常需要用到对象的属性或者方法。Excel VBA对同一个对象提供了多个属性。如果用户自行输入属性的代码,会经常犯错误。在VBE中,当用户在窗口中输入对象名称和句点时,窗口中会显示属性列表,用户可以在列表中选择。
语法说明:在VBE代码窗口中,当用户输入对象名和一个句点后,如果没有弹出“属性/方法”列表框,可使用以下方法显示该列表框。
·按下“Ctrl+J”组合键。
·单击“编辑”工具栏中的“属性/方法列表”按钮。
·右击代码窗口中的对象代码,在弹出的快捷菜单中选择“属性/方法列表”命令。
案例说明:本例将演示如何在VBE的代码窗口中显示“属性/方法列表”。
编写代码:(1)新建Excel文件,然后进入VBE环境,插入新的模块和过程,并在其中输入代码“ThisWorkbook”,然后输入一个句点,系统会弹出属性和方法的列表,如图1.24所示。
(2)完成代码语句。在属性列表中选择“ActiveSheet”选项,完成代码语句,如图1.25所示。代码如下:
ThisWorkbook.ActiveSheet.Cells(2, 3) = "Excel VBA"
运行结果:当用户完成代码后,按快捷键F5,测试程序,得到的结果如图1.26所示。
程序分析:在“属性/方法”列表中,图标表示内容属于方法,图标
表示内容属于属性。通过上面的图标,用户可以方便地判断对应的内容。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0031-01.jpg?sign=1738885913-1x4r4HE4oAUVq85SsFcFuFVZpD5l5zDp-0-16e8f8f6a745f01209822feddc51d513)
图1.24 显示列表
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0031-02.jpg?sign=1738885913-Nskg1A8i9Ocf0VVSgJlK5do4FpacD55R-0-19c8c8123d2d94f4ba861aa0faec956f)
图1.25 完成代码语句
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0031-03.jpg?sign=1738885913-zasGhqoXt1crdcRNo7dm2EedAwvl2qNq-0-ab4d183b5651aeaf66cddac5f873ab5d)
图1.26 程序调试结果