为什么要写VBA呢,因为Python处理完大量数据后,用VBA可以完成更多自动化的后续工作,而且excel文档流通性更强嘛。所以,请来了好友VBA大神200斤的老涛哥为大家介绍VBA常见使用套路啦~
别装,你一定用得上VBA!
故事发生在某个月黑风高还有点儿冻脚的夜晚:一个中年少男正在浏览“无聊经济”相关的文章时,被某鱼上的无聊给五雷轰顶了:“代喝奶茶”“代挨骂”“付费线上谈恋爱”……鄙人一直以为某鱼是一个收售二手物品的平台,现在相比这些,提供VBA代写服务也太正经了! 于是本着玩的心态,开了个店。很快第一单就上门了: 词频统计:
- A列是关键词的组合,关键词之间以空格连接。
- 在B列竖向输出A列所有的关键词,去重。
- C列输出对应B列关键词的出现频率。
- 从D列开始对应A列数据的第一行,输出A列该行所有关键词的排列,竖向输出。
(当然以上是我经过理解之后表述的,跟可爱的客户沟通这4句话可能只花了2个小时) 前3项非常好写,难在了第4项,不会,咋办,网上查啊!然后直接copy代码!搞定! 前后用了30分钟,最后收获了100RMB啊哈哈哈哈哈哈可以吃顿金拱门了!
后来在某鱼还遇到了很多好玩的事儿:
- 某大叔嫌之前人写的自动打印不智能不能批量找我加;
- 一个主要工作就是填表的小妹妹因为跨表总出错让我帮忙做检查功能;
- 工厂大叔因为技术离职了VBA没人维护找我修改之前我没接触的功能;
- 一个小哥让我写彩票统计工具还问我“你们大学生有文化能不能帮我分析一下彩票到底能不能赚钱”;
- 一个已经用python把微博数据爬到excel中但是不会处理的神奇小哥;
- 一堆给我提英文需求让我帮忙做作业的海外留学生(现在留学生的水平啊啊啊啊啊……);
- 还有股票市值超过300万的大哥让我做股票统计工具……
…… 某鱼真是一个神奇的地方,需求的背后是一个活生生的人,也是一段有血有肉的故事,每个梦想家都在为自己向往的生活拼搏努力着,所以当我游走在这繁杂的都市中,此刻想到的……
你也一定有写VBA的需求! 好!这就开始教你!
别怕,VBA真的很容易!
方法、属性、对象、事件、函数让这些该死的词去死吧! 就像你问一个美国人英语里面什么是量词介词时态主格宾格定语单复数他可能会用一个word回击你! 有多少无辜的孩童是在java“面向对象”这一块搞不清啥是对象而放弃的。 不懂这些词的含义可能会对我们的技术造成瓶颈,但是我们日常所需的功能离瓶颈真的太远了…… 所以如果你今天是第一次接触VBA码代码,学会下面这些足够了!
今天的小目标
- 成功创建第一个程序;
- 在表格第一页放置一个按钮,绑定至该程序;
- 点击按钮后输出一些神秘的文字~
不正经的教程开始
1.打开一个Excel,另存为xlsm格式,只有这种后缀才支持VBA
2.按ALT F11,可以打开VBA代码编辑区 3.右键点击,插入一个新模块,今天我们将在这里写代码
代码语言:javascript复制4.在白纸上(请允许这么low)写下浓墨重彩的一笔!简称彩笔
Sub 第一个代码()
End Sub
讲解: Sub:“子程序”的英文缩写 第一个代码:程序名字,中英文都行,以后在设置按钮界面指向宏时,会看到。 ():里面可以放参数,不能没有!事实上你想没有都不行,程序会自动给你加!不信你就试试!咱们现在还用不到,不管它! End sub:必须的,代表你程序到此结束了。事实上所有的结构体都需要开头和结尾,不然计算机怎么知道你这东西到哪结束呢。而且以后我们会在这一张白纸上写很多个程序,注意哦是程序,所有每个程序之间的区分就靠End了。
代码语言:javascript复制5.在Sub和End sub之间写下一句惊天地泣鬼神的话
Sub 第一个代码()
MsgBox ("Hello World!")
End Sub
讲解: Msgbox:Message Box,消息盒子,就是弹弹弹弹出一个盒子。双引号你先强行写一波,后面我会讲什么时候加双引号什么时候不加。
6.来运行程序,试一下!点击运行按钮。(其实按F5也可以哦~)
啊哈哈哈哈哈这是程序猿届的梗了,所有程序语言第一个输出的肯定是这个!妥了,你已经成功向顶级程序猿挪动7纳米了!前面还有1光年等着你!
7.我们可以关闭VBA编辑界面了,想再次打开按下ALT F11就好 8.回到熟悉的表格内,准备画一个按钮。检查上方菜单栏,如果有“开发工具”,跳过此步骤;如果没有,则点击文件,选项,自定义功能区,将右侧的“开发工具”勾选。(放心,以后不会再让你设置了)
9.点击开发工具,插入,左上角第一个就是标准的按钮。点击。
10.用鼠标左键拖出一个矩形,弹框里选择“第一个代码”(熟悉不熟悉!),确定。
11.按一下按钮试试吧! 12.按钮的设置:右键点击按钮,之后就可以对按钮上文字的样式进行各种编辑了!
今日作业
把“Hello World!”成功输出就可以啦!
下期不定期更新预告
变量:看懂最重要,怎么low怎么来。
For循环:一次投入终身受益。
IF判断:告诉程序应该做什么,如果下雨了,就请打一把伞吧!
单元格的输入输出:你学VBA不就是想学这个吗!
今日毒奶
兴趣是最好的老师,那学以致用就是顶级教授!