探索VBA代码编辑器——《Excel VBA宏编程》系列讲座2

2022-06-04 09:31:32 浏览数 (1)

Excel已经为我们准备好了编写VBA代码的编辑器,让我们非常方便地编写、运行和调试、保存VBA代码。

VBA代码编辑器在哪儿

在你刚安装好Excel时,其界面通常如下图1所示,Excel默认没有显示“开发工具”选项卡。

图1

为了方便编写VBA代码,我们需要调出“开发工具”选项卡。单击“文件——选项”,在“Excel选项”对话框中,选择左侧的“自定义功能区”,在“主选项卡”中,找到并选取“开发工具”前的复选框,如下图2所示。

图2

“开发工具”选项卡出现了,如下图3所示。

图3

看看VBA代码编辑器

单击Excel功能区“开发工具”选项卡“代码”组中的“VisualBasic”,或者直接使用Alt F11组合键,都可以打开VBA代码编辑器。如下图4所示。

图4

该编辑器是一个独立的窗口界面,与Excel界面互不干涉。其界面布局大致是,顶部是传统的菜单栏和工具栏,左侧是工程资源管理器窗口和属性窗口,右侧用于编写代码,底部是可以即时查看结果的立即窗口。

工程资源管理器

工程资源管理器位于编辑器界面左侧,以树状结构显示VBA项目,方便在其中导航。其中VBAProject是根节点,默认带有一个Excel对象,其中包含代表当前工作簿的ThisWorkbook对象模块和工作表Sheet1对象模块。当你添加或删除工作簿或工作表时,这个树状结构会相应地变化。你也可以添加标准模块、类模块和用户窗体,此时该树状结构会相应更新。

事实上,在工程资源管理器中,你可以看到当前Excel已经打开的所有工作簿及其对应的工作表。如下图5所示。

图5

从中我们对Excel VBA中非常重要的概念进行初步理解:工作簿是一个可以引用的对象,每个工作表也是一个可以引用的对象。但这些并不是Excel中唯一的对象,但简单地看一下工程资源管理器,它们就是这里显示的对象。

代码窗口

在工程资源管理器中,双击ThisWorkbook,将打开该Workbook对象的代码窗口。在该代码窗口顶部左侧的下拉列表中,选择Workbook,如下图6所示。

图6

代码编辑器会自动插入一段代码框架,如下图7所示。

图7

这是一个工作簿事件Workbook_Open,当你打开该工作簿时会发生,你可以在其中输入你想在工作簿打开时执行的操作的代码。如果不添加任何代码,则该工作簿打开时不会执行任何操作。

如果你单击该代码窗口顶部右侧的下拉列表箭头,会看到关于Workbook对象的许多其他事件,如下图8所示。

图8

我们选择NewSheet,同样编辑器会自动添加一段代码框架,如下图9所示。

图9

当你在该工作簿中新添加工作表时,会触发该事件。我们在其中输入代码:

MsgBox “HelloWorld!”

如下图10所示。

图10

MsgBox能够给用户提供一条消息,本示例中是在用户在本工作簿中新建工作表时,会弹出一条消息“HelloWorld!”。切换到Excel界面,新建一个工作表,你会看到弹出一个带有“HelloWorld!”的消息框,如下图11所示。

图11

同样,双击工作表代码模块,进入工作表代码窗口。可以看出,各对象代码模块窗口是独立的,我们可以在其中编写相应的代码。

除了事件代码外,我们通常在标准模块中编写代码。在编辑器菜单中,单击“插入——模块”,插入一个标准模块,右侧会显示该模块的代码窗口,如下图12所示,在其中我们能编写过程或函数代码。

图12

保存包含VBA代码的工作簿

在保存含有VBA代码的工作簿时,我们需要使用xlsm扩展名,如下图13所示,否则Excel会自动删除代码。

vba

0 人点赞