VBA for Excel 基础

今天温习了一下VBA的基础,许久不用,捡起来还真是非常生疏,VBA是Visual Basic的一种宏语言,其实就是一中面向对象的编程语言,学过C的同学可以非常容易的入门。

VBA可以非常高效的处理大批量数据,而且是“一劳永逸”。比如你要做公司年度销售情况的汇总分析表,可能有数百张表,每张表又有数百条信息,人工去做不仅低效而且容易出错,而编写VBA程序则可以在数分钟之内全部处理完,当然你编写程序可能需要一天的时间,但是这个时间相信已经是大大减少了,而且一次编写完成以后只要公司销售表格不变更,就可以一直用下去。

VBA简单实用,无论是写没写过代码的人都可以轻松掌握,对于产品经理来说,熟悉使用VBA对锻炼自己的数据分析能力也很有帮助,本文就介绍一下VBA的入门基础知识(以excel2010为例),想要深入学习VBA的话,个人推荐网易云课堂的杨老师的“全民一起VBA”,课程非常有趣,感觉杨老师转行段子手也大有发展(掩面)。

启用宏,并打开宏编辑器

打开excel 选择文件-->选项,找到自定义功能区把开发工具勾中


VBA for Excel 基础_第1张图片

然后就会发现导航栏多了一个栏目:开发者工具


VBA for Excel 基础_第2张图片

找到宏安全性,选择启用宏


VBA for Excel 基础_第3张图片

然后excel就可以执行宏代码了,点击Visual Basic进入VBA代码编辑模块


VBA for Excel 基础_第4张图片

注意这里编辑完代码之后,excel保存的格式要变更为xlsm,而不是xlsx,不然的话宏代码就不能被保存了,辛辛苦苦写的代码也就没了。

到这里,我们就可以正式编写宏代码了

示例

我写了一段特别简单的代码作为示例展示一下,代码的主要功能是把全校各个班级的成绩表汇总到一张表格,并计算总分。


VBA for Excel 基础_第5张图片
VBA for Excel 基础_第6张图片


VBA for Excel 基础_第7张图片

下面解释一下,首先添加控件,非常简单,拖入表格即可


VBA for Excel 基础_第8张图片

然后将拖入的按钮关联到一个宏


VBA for Excel 基础_第9张图片


VBA for Excel 基础_第10张图片

一般是新建一个宏,宏名随意,建议英文,这样不同环境下的程序才都可以执行

代码解释

Sub 宏名()

    代码块

end sub

以上的形式为一个宏,代码块填写你要执行的逻辑

单元格

Cells(i,j)代表第i行第j列的单元格

Range(“A7”)代表A7单元格

变量声明

Dim 变量名

VBA变量允许不声明使用,但是不声明会带来很多不必要的麻烦,比如你代码块中写错一个变量名,系统会认为你这是在使用一个新的变量,从而不会报错,注意使用Dim的时候需要在代码区首行添加“Option Explicit”

运算符

“=”是赋值或是判断语句中判断相等的含义

“+”加法,“-”减法,“/”除法,“*”乘法

“&”字符串连接


上述代码就是计算第一行一列的单元格中的数值和第一行第二列单元格的数值相加,把结果显示在第一行第三个单元格里

逻辑判断符

”>“大于,“<”小于,“>=”大于等于,“<=”小于等于,“<>”不等于

循环语句

For 变量 = 数值1 to 数值2 step 数值3

Next

含义:变量从数值1开始变化,每次变化幅度为数值3,知道变化为数值2跳出循环

Do while 判定逻辑

    代码块

Loop

含义:判定逻辑为正则循环执行代码块,直到逻辑判断为负,注意这里容易进入死循环,一定要检查代码块中的代码是否能使判定逻辑变负从而跳出循环

函数

Function 方法名(参数1,参数2,.......)

    代码块

    方法名=返回值

End Function

函数使用规则与C语言中类似,只不过返回值不用retrun,而是用 方法名=要返回的值。

先酱紫,关于VBA欢迎与我交流,共同进步。

你可能感兴趣的:(VBA for Excel 基础)