熟悉小爬的都知道,我大部分文章都是用python来开发自动化脚本,包括数据分析。但在python还没有那么声名大振之前,小爬却是靠着王佩丰老师的VBA以及数据透视表系列教程,才慢慢开始踏上办公自动化这条大船的。这几年的工作经验给小爬最大的感触是:python的确是数据分析的一把好手,但很多时候VBA已然够用。考虑到相当一部分职场人的办公环境根本都无法自由安装IDE(Integrated Development Environment:集成开发环境)、python环境,VBA之于数据分析领域,就永远不存在过时一说。从今天起,小爬会不定期更新VBA相关教程,希望对你们有所帮助。

  VBA语法命令非常简单,对编程新手也很友好。很多时候靠着excel“录制宏”功能,我们就可以在VBE(Visual Basic 编辑器:我们写代码的地方)下看到excel自动生成的VBA代码,后续我们通过变量传参、循环、条件等知识的引入,改造一段【录制宏】代码为成熟的自动化脚本。

数据分析系统 VBA vba对数据分析师的作用_数据分析

 

 

      如果您的Excel界面【菜单栏】没有看到【开发工具】,不着急,那是因为微软大大默认大多数人平时用不到【开发工具】模块,给隐藏了。如果您希望激活【开发工具】,恰恰说明您的Excel技能已经超过一大票表哥表姐了,以Office2019为例,依次点击excel菜单栏【文件】-【选项】-【自定义功能区】-【主选项卡】,勾选【开发工具】,即可让【开发工具】显示在菜单栏,如下图所示:

 

数据分析系统 VBA vba对数据分析师的作用_数据分析系统 VBA_02

我们可以点击【开发工具】下的【录制宏】按钮,或者点击excel界面左下角的快捷按钮,进行VBA宏的录制,如下图所示:

数据分析系统 VBA vba对数据分析师的作用_数据分析系统 VBA_03

   

数据分析系统 VBA vba对数据分析师的作用_数据分析系统 VBA_04

 

 

 

 我们开始录制宏后,可以诸如给单元格赋值,编写公式,使用高级筛选,更改单元格颜色,设置单元格格式,设置条件格式等等,这些都会完美地被Excel转换为VBA代码,对新手实在有够贴心。那么我们去哪儿找系统帮我们生成的宏代码呢?方法一:可以使用快捷键ALT+F8来查看宏:

数据分析系统 VBA vba对数据分析师的作用_宏_05

 

 

 方法二:可以点击【Visual Basic】按钮,进入VBE界面后,再次双击【模块】,即可。

数据分析系统 VBA vba对数据分析师的作用_VBA_06

 

 

 

数据分析系统 VBA vba对数据分析师的作用_VBA_07

 

 

 

 

 

 我们随便看下一段系统为我们生成的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 vba对数据分析师的作用_数据分析_08

 

 

数据分析系统 VBA vba对数据分析师的作用_vba_09

 

 

 

  看到这里,恭喜你,童鞋,你已经通过【宏录制】,入门VBA。你的数据分析之路上,又多了一把利器。