![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=1738839062-ORfLNoddxD2odazGKsM72ih64zQVSR5g-0-5f06ee56ab42a8a9f1fe0b0bc2e462bf)
图1.13 进入VBE环境
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0024-02.jpg?sign=1738839062-aF6d4esuTlcLbqZ1vmzvQnY4xpTpqMWM-0-3b0d24192c5ad53201ca7e713eeccfea)
图1.14 添加的新模块
(2)修改模块的名称。在“属性”列表中,在“名称”选项中输入“MyModule”,修改模块的名称,结果如图1.15所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0025-01.jpg?sign=1738839062-HyXlO0RmIfOM4YNXWu6qJx7xl5Z0S0cy-0-c3b91abbe50489d937248756a6516036)
图1.15 修改模块的名称
运行结果:从前面的结果中,用户可以查看添加的模块,如图1.16所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0025-02.jpg?sign=1738839062-F59I5hlwedsy2ZZXDGdOOGD4Zr7d9GB8-0-ce3569b6bbcb4c55345701f547ec89ea)
图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=1738839062-bZmq8P9dPstVyYNTYm4hKcnxWDqIAKQP-0-5f65d4b1da7b44226ab66d680614db38)
图1.17 进入“导出模块”的VBE
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0027-01.jpg?sign=1738839062-xTU7m0hUu8BGAFLkTGpP5G88HtAELUgZ-0-1ebdfc1494855d083010bc0284697f7d)
图1.18 导出模块
(3)选择文件的保存路径。选择对应的选项后,Excel会弹出“导出文件”对话框,在其中选择导出模块的保存路径,如图1.19所示。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0027-02.jpg?sign=1738839062-mlDCZ6R0ShX87WbuVHRS9PpnCSg1geyx-0-4f1560807fcffe1adbafd1377d5889b7)
图1.19 选择保存路径
运行结果:查看导出的模块。在模块保存的路径中,用记事本打开模块文件,如图1.20所示。
程序分析:当用户导出模块时,可以自定义模块的名称,用户可以根据定义的模块名称,来查看或者分析模块功能。
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0028-01.jpg?sign=1738839062-EIGZMLj9rceE2cyYLd9L88HaMMvCY5k3-0-defedfd3a941ff75b1b2a926d7e514d8)
图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=1738839062-UvSJj132H5BaV0sYrxccbvrYMp8lpN6r-0-91be5e2918b2a85c7c8bb8734d37c881)
图1.21 选择导入文件
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0029-02.jpg?sign=1738839062-C7Wu3YZ5RE7567JCOVC4lpijtjrChQEH-0-8a0deaedd6de02f48aee5434d16d9768)
图1.22 导入文件
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0029-03.jpg?sign=1738839062-Hs87rYZo0Vl5fVoFR7GfTracu32Kx9gY-0-714d4e84f69f3d6405ce1ad713cf2abc)
图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=1738839062-hqEXcuhestc6Jlb0DqFCZpRaOqSzq53d-0-2fffd5f87caefb558ccb7adf50ecd827)
图1.24 显示列表
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0031-02.jpg?sign=1738839062-MIBcmaPX0GNrHrJOiNVOZ5uXLU8cDxaB-0-3b996f727acb29fcd4f9cfcc4e7943dc)
图1.25 完成代码语句
![](https://epubservercos.yuewen.com/86C5CB/3590827303554101/epubprivate/OEBPS/Images/Figure-0031-03.jpg?sign=1738839062-scmSOhm2GNY6Rn1PB9fLMnQFGM3Tpxgc-0-abf515df7b1d8d9ba65804aed614eca0)
图1.26 程序调试结果