熟悉小爬的都知道,我大部分文章都是用python来开发自动化脚本,包括数据分析。但在python还没有那么声名大振之前,小爬却是靠着王佩丰老师的VBA以及数据透视表系列教程,才慢慢开始踏上办公自动化这条大船的。这几年的工作经验给小爬最大的感触是:python的确是数据分析的一把好手,但很多时候VBA已然够用。考虑到相当一部分职场人的办公环境根本都无法自由安装IDE(Integrated Development Environment:集成开发环境)、python环境,VBA之于数据分析领域,就永远不存在过时一说。从今天起,小爬会不定期更新VBA相关教程,希望对你们有所帮助。
VBA语法命令非常简单,对编程新手也很友好。很多时候靠着excel“录制宏”功能,我们就可以在VBE(Visual Basic 编辑器:我们写代码的地方)下看到excel自动生成的VBA代码,后续我们通过变量传参、循环、条件等知识的引入,改造一段【录制宏】代码为成熟的自动化脚本。
如果您的Excel界面【菜单栏】没有看到【开发工具】,不着急,那是因为微软大大默认大多数人平时用不到【开发工具】模块,给隐藏了。如果您希望激活【开发工具】,恰恰说明您的Excel技能已经超过一大票表哥表姐了,以Office2019为例,依次点击excel菜单栏【文件】-【选项】-【自定义功能区】-【主选项卡】,勾选【开发工具】,即可让【开发工具】显示在菜单栏,如下图所示:
我们可以点击【开发工具】下的【录制宏】按钮,或者点击excel界面左下角的快捷按钮,进行VBA宏的录制,如下图所示:
我们开始录制宏后,可以诸如给单元格赋值,编写公式,使用高级筛选,更改单元格颜色,设置单元格格式,设置条件格式等等,这些都会完美地被Excel转换为VBA代码,对新手实在有够贴心。那么我们去哪儿找系统帮我们生成的宏代码呢?方法一:可以使用快捷键ALT+F8来查看宏:
方法二:可以点击【Visual Basic】按钮,进入VBE界面后,再次双击【模块】,即可。
我们随便看下一段系统为我们生成的VBA代码,将每一行与我们先前的录制操作关联起来,就不难学习VBA的语法了。
1 Sub My_First_Macro()
2 '
3 ' My_First_Macro 宏
4 ' 第一次写VBA,第一次【录制宏】,多少有点紧张,希望这是一个好的开始。
5 '
6
7 '
8 ActiveCell.FormulaR1C1 = "姓名"
9 Range("B1").Select
10 ActiveCell.FormulaR1C1 = "学科"
11 Range("C1").Select
12 ActiveCell.FormulaR1C1 = "分数"
13 Range("A2").Select
14 ActiveCell.FormulaR1C1 = "张三"
15 Range("B2").Select
16 ActiveCell.FormulaR1C1 = "英语"
17 Range("C2").Select
18 ActiveCell.FormulaR1C1 = "75"
19 Range("A3").Select
20 ActiveCell.FormulaR1C1 = "李四"
21 Range("B3").Select
22 ActiveCell.FormulaR1C1 = "英语"
23 Range("C3").Select
24 ActiveCell.FormulaR1C1 = "98"
25 Range("A4").Select
26 ActiveCell.FormulaR1C1 = "王五"
27 Range("B4").Select
28 ActiveCell.FormulaR1C1 = "英语"
29 Range("C4").Select
30 ActiveCell.FormulaR1C1 = "59"
31 Range("C1").Select
32 Selection.AutoFilter
33 ActiveSheet.Range("$A$1:$C$4").AutoFilter Field:=1, Criteria1:="王五"
34 Range("A4:C4").Select
35 With Selection.Font
36 .Color = -16776961
37 .TintAndShade = 0
38 End With
39 End Sub
最后我们可以在EXCEL界面插入一个形状,并将它与宏代码关联起来,后面点击该【形状】,就可以快速执行我们的宏片段了。
看到这里,恭喜你,童鞋,你已经通过【宏录制】,入门VBA。你的数据分析之路上,又多了一把利器。