VBA for Excel 基础

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

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

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

启用宏,并打开宏编辑器

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


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


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


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


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

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

示例

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



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


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



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

代码解释

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欢迎与我交流,共同进步。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,504评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,898评论 1 300
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,218评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,322评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,693评论 3 290
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,812评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,010评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,747评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,476评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,700评论 2 251
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,190评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,541评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,206评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,129评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,903评论 0 199
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,894评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,748评论 2 274

推荐阅读更多精彩内容

  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,500评论 6 49
  • 我们在Excel中整理、分析和处理数据时,都是围绕单元格进行大多数操作,因此Range对象是Excel VBA中最...
    完美Excel阅读 6,437评论 1 12
  • 自从2014年开通[完美Excel]微信公众号以来,坚持分享已经学习到的Excel和VBA知识和心得,目前已分享文...
    完美Excel阅读 8,232评论 6 69
  • 一阵辽远的钟声 轻轻掠过我的心上 响吧,秋天的短歌 远远地,远远地 一直响到 漫山红遍的山谷 当你见到一支海棠 就...
    西川锦阅读 177评论 0 1
  • 如来 你今何在 那一战我不认败 紫金玉铠尚还在 谁的掌中写无奈 是谁在戴这金箍 脸上写了一句输 手持铁棒的匹夫 怎...
    Kkk灬荀文若阅读 558评论 1 1