上期讲了VBA清洗数据数据、合并多表格的方法,然而很多同学都说,我平时工作所用到的表格样式跟你的不一样,要想使用那些模板来批处理我现有的表格,显然是不现实的。当然这种情况可以用我上期说的power query方法来清洗和合并多表格,但是如果我想用VBA清洗数据,是否也可以写出适合实际工作所用到的表格格式呢?
答案当然是肯定的。(来自没有学过VBA语言的小白的肯定说法)
首先需要知道Excel里的一个功能“录制宏”,官方说明:您执行的每个命令均将保持到宏中,以便可以重复执行这些命令。简单来说,将你操作的动作录制下来,然后重复执行这些动作。
实操
01
02
操作思路:将第6行删除→第1-4行删除。
03
开发工具→录制宏→确认
04
完成上述删除行操作后,停止录制
05
开发工具→宏→编辑,查看VBA代码
06
这里的意思就是选择第6行,删除;第1-4行,删除。
07
保存宏工作簿即可完成。但是要想一键批量清洗数据还需要增加其他代码。
08
整理思路:打开文件夹→打开需要处理的表格文件→宏(上述操作)→保存文件(循环)
所以接下来增加的代码就是打开文件夹、打开文件和保存文件。
f1 = Dir("文件夹路径\*.xlsx")
Do While f1 <> "" Loop 循环语句
Workbooks.Open 打开文件夹和文件
ActiveWorkbook.Close True 保存文件
只需要记住这几条代码就可以完成80%的自定义清洗数据表格。
总结思路:我们在遇到一个工作上的表格时候(你不懂编程),在网上找对应的代码(如删除第
6行)是很难找到,于是这个时候便可以使用“录制宏”功能,你只需要按照你的操作要求操作就完成了代码撰写,接下来就将上面的代码(如打开文件,保存文件)复制上去即可完成自定义批量清洗表格。
①录制宏,即可写下每个需要的操作的代码;
②复制指定代码,完成自动化处理(这部分代码在网上相对好找)
写在最后,如果清洗表格后还需要合并表格,那请阅读上期文章,将power query的合并表格完成,然后再用“录制宏”功能将清洗代码结合就可以实现上一期那种一键清洗合并表格的效果,而且还是自定义的哦。
*【本期代码】请回复关键词【小白】获得