编按:哈喽,大家好!VBA实战入门教程第5篇,我们将从九九乘法表开始和结束今天的教程。之中,我们会认识VBE,也就是VBA代码的编辑器。VBE的基本概念、打开方式,以及它的布局和主要功能,它们很简单,但我们需要掌握。你可以认为这篇教程是我们继续学习VBA前的一次快乐休闲。学习更多技巧,请收藏关注部落窝教育excel图文教程。


【前言】

作者E图表述在“部落窝”也写了不少VBA的文章了,并且现在依然保持更新,还是那句话:在操作函数、数透、图表、VBA这几大EXCEL模块中,唯独VBA是一定要按部就班、循序渐进的学习。通过前几篇内容,我相信你一定已经开始尝试自己写一些内容了,是的,当你知道了操作单元格+循环+判断,那么再加上思考,就一定可以写一些案例操作了。

你说什么?还没做过,哎~,“懒癌”是病,这个作者E图表述可治不了,你得自己治。

【正文】

好了,既然你没练过,那么我们开篇就先来一道练习题,测一下同学们的掌握程度吧。当然了有兴趣的同学都可以来做一下,题目很简单,“九九乘法表”。我继续讲今天的内容,文末会公布答案。

● 10年前,作者初学VBA的时候,总是能看到“九九乘法表”的练习,但是不知道为什么,现在很多教程都没有这个,它对于循环+判断逻辑关系的理解是相当有意义的。

一、认识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)注释块。相当于工作表中的批注,起到说明备忘的效果。如果我们编写了一段比较复杂的代码,时间一长,有可能忘记了代码设置的思路,所以注释块可以起到帮助我们回忆的作用。更快捷输入的方式是在需要添加注释的字符串前,直接加一个英文状态下的单引号即可。学习更多技巧,请收藏关注部落窝教育excel图文教程。

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

好了,今天就分享到这儿了。学习更多技巧,请收藏关注

部落窝教育​www.itblw.com

****部落窝教育-VBA的编辑器VBE****

原创:E图表述/部落窝教育(未经同意,请勿转载)

更多教程:

部落窝教育​www.itblw.com

微信公众号:exceljiaocheng

vba 定义类_excel编程系列基础:认识VBA的编辑器VBE相关推荐

  1. 导航属性没有被赋值_excel编程系列基础:操作对象RANDE的属性介绍

    编按: 哈喽,大家好!在上篇的VBA文章中,我们提到了RANGE属性,简单介绍了它在选中单元格区域,以及对单元格区域赋值时的作用,但这仅仅是最基础的应用,今天我们继续来讲解RANGE属性. [前言] ...

  2. vba 定义类_什么是模块,VBA中各种模块的有效行为

    你已选中了添加链接的内容蓝字关注,加微信NZ9668获资料信息  VBA解决方案   系列丛书作者  头条百家平台 VBA资深创作者 _______________________________ 大 ...

  3. vba 定义类_excel的VBA水平分6个层级,看看你是第几级!

    玩过成长闯关类游戏的都知道,刷游戏副本会提升经验装备,对提高生成率和可玩性都很有用.对于经常用excel的人来说,VBA也好比是副本,不是必须得涉及,但多了解掌握却对提高工作效率有重要作用.学习掌握V ...

  4. vba 定义类_类模块的定义及设计

    你已选中了添加链接的内容蓝字关注,加微信NZ9668获资料信息  VBA解决方案   系列丛书作者  头条百家平台 VBA资深创作者 _______________________________ ( ...

  5. vba 定义类_VBA|工程中的四类模块的具体含义与比较

    新建一个工作簿后的VBE的工程资源管理器: 可以看到默认的3个工作表对应的模块和工作簿模块ThisWorkbook. 选择sheet1,点击"对象"列表下拉框: 可以看到一个可供选 ...

  6. vba 定义类_工作表中如何响应自定义事件

    大家好,在上两讲中讲了类模块的调试行为,对于我们写代码人员来讲,要充分地理解每个知识点的概念,才能在实际工作中灵活运用,在我的第一套教程<VBA代码解决方案>中,我推出的是一种积木编程的思 ...

  7. vba 定义类_神通广大的类,瞬间实例多个类对象

    你已选中了添加链接的内容蓝字关注,加微信NZ9668获资料信息  VBA解决方案   系列丛书作者  头条百家平台 VBA资深创作者 _______________________________ 大 ...

  8. vba 定义类_在类中定义和触发自己的事件(上)

    大家好,我们今天继续讲解类的相关知识.在上一讲中我们讲了使用WithEvents定义响应事件的对象,那么有了对象自然要跟进到事件了,这讲就给大家讲解两个新技能--在类中定义和触发自己的事件(Event ...

  9. vba 定义类_VBA中类的介绍及应用简介

    类,在VBA中是很抽象的,但正是因为它的抽象,才更具研究的价值.研究的过程往往是从具体到抽象,再到具体,从具体中升华出我们的理论认知,然后再用抽象的理论指导我们的具体行动. 所以,随着我们学习.应用V ...

  10. vba 定义类_使用WithEvents定义响应事件的对象

    大家好,我们继续VBA类的学习,在这套教程中,大家会逐步认识到很多事物的本质东西,在上一讲中我们提到事件的定义时指出,事件是对象的响应.这里的对象是指接收方或者称之为事件监听者.事件的整个过程对象:事 ...

最新文章

  1. java try catch嵌套_try catch里面try catch嵌套
  2. inrange函数 python_为什么OpenCV的inRange函数不将我的HSV图像转换成二进制?
  3. ccf画图java详细解析_ccfjava答案
  4. C#各版本新增加功能
  5. 前端学习(566):margin auto机制
  6. 深入了解vue中slot和slot-scope
  7. idea中使用maven方式使用jetty+cmd中使用Jetty运行(maven)Web项目
  8. 防范蠕虫式勒索软件病毒***的安全预警通告
  9. 某企业信息安全体系整体建设方案规划方案毕业设计毕业答辩
  10. php多个语言包,thinkphp实现多语言功能(语言包)
  11. ccy测试影响因子版270ms
  12. 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?
  13. IT公司聘用应届生的标准是什么?到底看中应届生的什么?
  14. AKM项目轶事之与高中同学徐挺会见
  15. 2021-2027全球与中国轻型商用车钢轮市场现状及未来发展趋势
  16. 7、MyBatis分页
  17. crash中使用list遍历结构体
  18. 产品需求分析与市场分析方法汇总(SWOT+PDCA+波士顿矩阵BCG+5W2H分析法+STAR关键事件分析法+目标管理SMART+时间管理紧急重要矩阵+WBS任务分解法)
  19. 【购房必备知识】成都公积金贷款/商业贷款的一些知识记录
  20. 支持ipv6的各种服务器和客户端

热门文章

  1. 火车票软件哪个好用_抢火车票软件哪个好 2019哪个软件抢火车票成功率高
  2. chr python用法_使用Python内建chr, ord实现的简单的加/解密
  3. html中两个块之间有空隙,css标签之间引发空隙问题解决办法
  4. 曙光服务器怎么修改启动项,简单易上手 戴尔T5500工作站BIOS全设置
  5. 程序员应该坚持写技术博客
  6. 用matlab绘制动态心形图
  7. CentOS 7 校对时间 修改时区
  8. Windows用户态和内核态原理讲解
  9. 【第五届集创赛备赛】七、紫光同创李星钢和王斌赛题培训(2021年4月13日)
  10. html字体制作,用@font-face实现网页特殊字符(制作自定义字体)