excel编程系列基础:认识VBA的编辑器VBE

news/2024/11/15 3:01:35/

一、认识VBE

我们常说的VBA,其实是Visual Basic for Application(用于应用程序的 visual basic)的简写;而VBE的全称是Visual Basic Editor,是VBA的容器,用于存放VBA。我们编写代码的过程,就像人与计算机说话(下达指令),只有计算机能够“听懂我们说的话”,才能执行我们给它下达的指令,那么VBE就承载了这个“编译”的过程,所以我们可以理解为VBE就是Excel中VBA的编译器。

其实所有的计算机语言,如JAVA、Python都有自己的编译器,就像一个翻译员一样,将我们指定的命令代码,让计算机能够看懂,能够执行。

二、打开VBE的三种方式

1.在功能区的“开发工具”中打开VBE界面

很多同学的Excel功能区中都是没有“开发工具”选项的,我们可以通过“选项”中的“自定义功能区”,调用出这个功能。

然后选择“开发工具”——Visual Basic功能键,就可以打开VBE界面。

2.在工作表标签上单击鼠标右键,打开菜单栏

在弹出的菜单中,选择“查看代码”,也可以打开VBE界面。

3.ALT+F11组合键打开

这是最常用的一种打开VBE界面的方式。

注意:无论你使用何种方式打开VBE界面,都要记得,要打开某个工作薄之后,才可以使用VBE,毕竟EXCEL文件才是VBE的载体。

三、熟悉VBE界面的布局和初步调试

我们以任何一种方式打开VBE界面后,结构如下:

当然,你打开的VBE界面肯定不是这个样子的,如果你也想调出这些窗口,就让我们先从菜单栏开始介绍VBE界面的主要功能吧。

1.菜单栏

菜单栏包含了绝大部分的VBE界面的操作,信息量也比较大,我们主要从以下几方面介绍一下:

1)调出窗口:点击工具栏——视图,里面就能显示出所有的窗口。

2)代码调试:点击菜单栏——调试,可以看到日常编写VBA代码后,如果要调试代码的运行,我们就需要使用这里的调试功能,作者E图表述平时使用的是“逐语句”和“切换断点”,而在菜单栏的二级菜单中也显示了对应的快捷键:F8和F9。

3)对于VBE的设置,我们可以在菜单栏的工具菜单中,通过“选项”里面的“编辑器格式”功能,对你的VBE操作界面设置个性化的版面;也可以通过“VBAProject属性”中的“保护”功能,对你写过的代码进行加密保护。

以上是菜单栏的一些常用内容。

2.工具栏

工具栏中的功能,是微软为了用户使用方便,将菜单栏中的一些常用操作图表罗列出来,制成快速按键而已,我们首先看看工具栏的调用。

当你初次使用VBE的时候,默认情况一般只有“标准”工具栏,我们可以在工具栏的右侧空白处,点击鼠标右键,在弹出的菜单中选择需要的工具栏“挑勾”,然后拖拽到你需要的位置即可,如下演示:

在这么多的工具栏中,同学们也没有必要把时间都花费在研究功能上,作者给大家列出几个比较常用的吧,如下:

1)保存,Ctrl+S快捷键;

2)撤回,Ctrl+Z和Ctrl+Y快捷键;

3)运行过程。写出一段代码后,可以点此运行代码查看结果或调试,快捷键是F5;

4)缩进。就像Word一样,代码都是有层级的,我们以前发出的代码,一般都是需要体现出代码的层级,比如少了“结束语句”的时候,可以快速查询纠错。一般作者都是点两下空格作为缩进,也可以使用Tab键缩进,缩进的长度可以在选项中设置;

5)注释块。相当于工作表中的批注,起到说明备忘的效果。如果我们编写了一段比较复杂的代码,时间一长,有可能忘记了代码设置的思路,所以注释块可以起到帮助我们回忆的作用。更快捷输入的方式是在需要添加注释的字符串前,直接加一个英文状态下的单引号即可。

3.工程资源管理器

这是存放对象的容器,默认情况下,包含了Sheet对象、ThisWorkbook对象,我们还可以在这里添加“窗体”“模块”和“类模块”对象,添加方式如下:

4.属性窗口

如果要学习VBA,那么同学们一定要有一个思想准备,VBA对象的属性虽不是多如牛毛,但却很少有人能记住所有的属性,甚至十分之一都记不住。这里我们可以对选定的对象进行一些常规的格式上的设置,例如对下面某个工作表的设置:

这个设置如果写成VBA代码,则如下:

Sub 代码1()

With Sheets(3)

.Name = "工作表1"

.Visible = 0

End With

End Sub

发现没有,代码中的NAME和VISIBLE属性,和刚才在属性窗口中设置的是同样的写法,是不是对学习对象属性很有帮助。

5.代码窗口

这个窗口是承载所有代码编写的地方,选择不同的对象,那么这个代码就是针对这个对象的代码窗。

6.对象和过程窗口

这两个窗口又是一个重要的内容,不知道同学们有没有听说过“VBA事件”,就是在这里选择的,例如选择工作表对象后,如下:

又如选择了窗体对象后,双击窗体区域,或者鼠标右键——查看代码,都可以调出窗体的代码窗口,如下:

7.立即窗口

这个窗口,作者E图表述很少使用。它的作用是显示代码运行的结果(我们调试代码的时候,就在工作表或者窗体中点击运行就好了),需要DEBUG.PRINT代码辅助,如下:

Sub jiafa()

a = 1 + 2

Debug.Print a

End Sub

8.本地窗口

本地窗口,是作者一直都会打开的窗口。这个窗口对于“逐语句F8”调试代码是相当重要的,如下代码演示:

我们连着按F8,就可以看到代码在逐行运行,并且本地窗口中,对变量的变化给出了相当明显的标记,便于我们调试代码。(另:这个本地窗口对于我们了解代码的运行规律也是相当有帮助的。)

9.监视窗口

和本地窗口的用途差不多,不过我们使用监视窗口前,需要添加被监视的变量表达式,如下:

以上就是同学们能看到的VBE主要界面上的窗口和菜单工具栏,作者E图表述想告诉大家:没事儿随便点一点,EXCEL不娇气,没那么容易被你“点坏”的。

四、窗体、模块、类模块的意义

刚才我们在资源工程管理器中,用鼠标右键插入了窗体、模块、类模块三个内容,它们在EXCEL VBA中有着相当重要的作用,是同学们走向自动化办公的必经之路。

我们通过本讲简单的了解一下它们的意义,以后我们都会有专门的篇章去学习。

1.窗体

承载窗体、控件的载体,我们有的时候使用工具栏的内容,就会弹出一些窗体,比如我们上面讲到的菜单栏——工具——选项窗体,在窗体对象的代码窗口中写下代码,那么我们就可以自己DIY一个交互式操作界面,是不是很酷,想想都兴奋的想操作啊!

2.模块

模块是使用最多的一个环节。其他的对象只能在本身对应的代码窗口中调用代码语句,可是在模块中写入的代码,却可以被其他对象引用。工作表对象的代码、工作薄对象的代码、窗体代码、控件代码、模块与模块之间,都可以使用CALL语句调用模块中的代码。

另外,在模块中使用FUNCTION函数过程,还可以写出“自定义函数”,如果你的EXCEL版本低,用不了XLOOKUP、MAXIFS、TEXTJOIN这类函数,可以用FUNCTION函数过程自己写出代码,和使用工作表函数一样方便。

3.类模块

类模块是自定义类的属性和方法的模块。使用VBA编写的过程就是操作对象属性和方法的过程,而类模块是自定义这一过程的方式,我们在代码中看到的PUBLIC PROPERTY过程,就属于类模块。它通常用于应用程序级别的事件中,慢慢来,跟着学,终会遇到。

【编后语】

本章的信息量很大,但是作者还是觉得有必要让同学们了解自己正在学习的这个VBE平台“到底长什么样子以及其意义”,学习不能盲目,我们要走最近的路,但不能盲目的走下去,所以就有了此篇教程。如果对你有所帮助,留言告诉我,然后“分享”“在看”一波走起。

最后给出开篇《九九乘法表》的答案,记得多练习啊!!!顺便看看代码的层级缩进!

Sub 九九乘法表()

With Sheets("九九乘法表")

For i = 1 To 9

For j = 1 To 9

If i >= j Then

.Cells(i, j) = j & "*" & i & "=" & j * i

End If

Next j

Next i

End With

End Sub


http://www.ppmy.cn/news/348350.html

相关文章

在windows下CorelDraw中VBE的调用原理?

文章目录 1.谁加载了这几个库2.apc71是什么?3.作者答疑直接启动CorelDraw,查看其加载模块,发现并没有加载VBE7.DLL、VBEUI.DLL和VBEUIRES.DLL,说明启动CorelDraw时,VBE默认是不加载的,只有在需要的时候,才进行动态加载。 1.谁加载了这几个库 在X64dbg中,附加CorelDraw…

VBE6EXT.OLB不能被加载问题解决方法

问题记录:由于office出了问题,卸载并重装了office,导致出现:VBE6EXT.OLB不能被加载问题。 特征:excel和word打开时都是正常的,唯独打开PPT文件时,提示VBE6EXT.OLB不能被加载。如下图&#xff1…

古今多少Excel/VBA代码,都付VBE中

微信公众号原文 系统:Windows 7 软件:Excel 2010 欢迎关注微信公众号:Excel结合VBA高效工作 学习路径图: 针对之前的学习路径图,会针对的写一些文章今天介绍Excel自带的编辑器VBE目标:掌握VBE常用功能 …

【深度学习】pytorch pth模型转为onnx模型后出现冗余节点“identity”,onnx模型的冗余节点“identity”

情況描述 onnx模型的冗余节点“identity”如下图。 解决方式 首先,确保您已经安装了onnx-simplifier库: pip install onnx-simplifier然后,您可以按照以下方式使用onnx-simplifier库: import onnx from onnxsim import simp…

WPS vbe6ex.olb 不能加载

WPS vbe6ex.olb 不能加载折腾经历 一直用MS OFFICE, 偶然试用了WPS,一见钟情不能自拔.XLWINGS插件,VBA宏都能正常使用. 本人有强迫症,见不得电脑上有偷懒的东西存在, 于是果断卸载MS OFFICE. 于是问题来了,当XLWINGS需要import functions时,提示vbe6ex.olb 不能加载.虽然只要重…

vb.net开发vbe插件,在vbe界面生成类似任务窗格的窗体

要在 VB.NET 中开发 VBE 插件并生成类似任务窗格的窗体,您需要做以下几件事: 安装 Microsoft Visual Studio 开发环境。新建一个 VB.NET 项目,选择模板为 "VB.NET 自定义控件库"。使用 ToolStripContainer 控件创建一个包含 ToolSt…

VBE窗口组成

打开Excel应用程序,在"开发工具"选项卡下点击"Visual Basic"按钮或者按下快捷键组合AltF11即可打开VBE窗口,其主要成分如图1-1所示。 图1-1 VBE窗口 窗口中主要包括菜单栏、工具栏、工程资源管理器、代码窗口、属性窗口、立即窗口、…

熟悉VBA的编程环境---VBE

打开EXCEL应用程序,在“开发工具”选项卡下点击“Visual Basic”按钮或者直接按下快捷键组合ALTF11即打开VBE窗口,其主要组成部分如图: 窗口中主要包括菜单栏、工具栏、工程资源管理器、代码窗口、属性窗口、立即窗口、监视窗口等。这些窗口…