这些掌握了,你才敢说自己懂VBA

2020-09-10 10:10:57 浏览数 (3)

上周,我发了关于Excel VBA的第一篇文章后,社群里就砸开了锅

看到辣么多小伙伴们,辣么喜欢,我的干劲儿就更足了。

于是,我准备把Excel VBA写成一个系列免费教程,撸完这个系列你也是VBA界的黑山老妖了。

今天是这个系列的第2篇,我们用「如何利用VBA加减乘除运算」的例子,帮助大家理解VBA的一些基础概念。

基础很重要,正所谓“基础不牢,地动山摇”。好了,闲话不多说,直接上硬菜(大家看图自己跟着实操)

1. 准备案例

(1)新建一个Excel工作簿,随意命名

(2)单元格A4输入「10」,单元格B4输入「 」,单元格C4输入「8」,单元格D4输入「=」

2. 如何计算上述运算,并写入单元格E4里?

(1)青铜小白-符号运算

(2)铂金老鸟-公式运算

(3)王者大牛-代码运算

有经验的同学,看到这里,肯定嘴角上扬45度,“我用公式就能轻松实现,何必用VBA呢?”

不错,用公式确实能够实现上述案例的结果,但是,VBA拥有公式无可比拟的优越性:

第一,公式无法使用「按钮控件」; 第二,日常的工作场景一般会涉及加减乘除等综合运算,如果我们使用公式就会格外的复杂而难以控制。

 按钮控件:大家可以将其类比我们常见的“保存”、 “预览” 、“确定”等按钮,当然了还有需要输入文本的“文本框”、“下拉列表”、“复选框”等

3. 那VBA如何操作呢?

(1)点选「开发工具」-「插入」-「按钮(窗体控件)」

(2)鼠标变为「黑色 号」,按住鼠标「左键」,向右拖动

(3)松开,自动弹出一个窗口

指定宏:是指按下某个按钮,运行哪一段VBA小程序

宏(Macro):简单理解就是一段用VBA编写的小程序

(4)修改宏名「加减法」,点击「新建」

(5)自动弹出界面,进入了VBA代码编辑器

上次介绍了什么是VBA以后,我们知道多数代码放置在标准代码「模块」中。刚刚的操作自动在左边的「工程」窗口插入「模块1」,而右边是「模块1」的代码区域

(6)系统自建的代码解释

sub和End sub:VBA系统保留字,具有特殊含义。

大白话就是“看到这些单词系统就去执行指定的动作”,比如:sub代表一个程序的开始,End sub代表该程序的结束。

做减法:这段小程序的名字。

要点注意:

a. sub和小程序之间有1个空格,切记别忘了 b. 程序名称尽量采用英文 c. 1对圆括号为输入法「英文模式下」的输入内容

(7)题目分析

我们将题目翻译为白话就是:计算「单元格A4」和「单元格C4」的和,将结果写入「单元格E4」中

(8)开始写代码

我们按照正常的思考思路,在代码块区域输入“单元格E4 等于 单元格 A4 加上 单元格C4”,按下键盘「Enter」,发现立刻报错,我们看到:

a. 弹窗提示「编译错误」

b. 出错的内容自动变为红色

c. 以「蓝色」模糊定位到出错的位置

出错的主要原因是我们采用了“人类语言”,而不是计算机能够识别的语言,Excel只能识别VBA的语法。

那么,VBA语法是什么呢?别急,接着往下看~

(9)题目过渡

既然,我们知道怎样等价变换「加号」和「等号」,那么关于「单元格」就必须要引入一个重要的概念【cells属性】

(10)Cells属性

要点注意]:

a. Cells属性中是先行后列的次序,别颠倒了; b. 字母的数字代表在26个英文字母中的位置,比如:A=1,B=2,C=3.....以此类推.

(11)书写代码

我们输入“Cells(4, 4) = Cells(4, 1) Cells(4, 3)”,发现程序没有报错,然后删除上方错误的代码

(12)保存代码

点击右上方「保存」,VBA弹窗出现提示,我们点击「否」,在「保存类型」中选择「Excel启用宏的工作簿(*.xlsm)」

要点注意:

a.文件报错为「.xlsm」,而不是「.xlsx」

(13)点击「按钮1」,我们就可以查看结果

(14)鼠标右键 「编辑文字」,然后将「按钮1」变为「查看结果」

4. 总结

好了,最后,画一下知识点。

(1)什么是宏?

一段用VBA编写的小程序。

(2)宏的结构

(3)cells属性以及cells操作Excel单元格

(4)如何在Excel放置按钮,并关联宏

通过5步实现:

点选「开发工具」-「插入」-「按钮(窗体控件)」---> 

鼠标变为「黑色 号」,按住鼠标「左键」,向右拖动 ---> 

松开,自动弹出一个窗口 ---> 

修改宏名「加减法」,点击「新建」

---> 编辑代码即可

 要点注意:

在案例Excel文件中,附赠有日常工作中常用的「指定区域英文首字母自动转换为大写」小程序,大家可以直接拿去用,也可以分析一下那个代码。

最后,留个课后小练习:如何在Excel中其做他运算,并且各种运算符号能够随着按钮自动变换呢?

0 人点赞