VBA编写自动清洗数据,批量处理表格方法

上期讲了VBA清洗数据数据、合并多表格的方法,然而很多同学都说,我平时工作所用到的表格样式跟你的不一样,要想使用那些模板来批处理我现有的表格,显然是不现实的。当然这种情况可以用我上期说的power query方法来清洗和合并多表格,但是如果我想用VBA清洗数据,是否也可以写出适合实际工作所用到的表格格式呢?

答案当然是肯定的。(来自没有学过VBA语言的小白的肯定说法)

首先需要知道Excel里的一个功能“录制宏”,官方说明:您执行的每个命令均将保持到宏中,以便可以重复执行这些命令。简单来说,将你操作的动作录制下来,然后重复执行这些动作。

实操

01

VBA编写自动清洗数据,批量处理表格方法_第1张图片
▲源数据表格格式

02

VBA编写自动清洗数据,批量处理表格方法_第2张图片

操作思路:将第6行删除→第1-4行删除。

03

VBA编写自动清洗数据,批量处理表格方法_第3张图片

开发工具→录制宏→确认

04

VBA编写自动清洗数据,批量处理表格方法_第4张图片

完成上述删除行操作后,停止录制

05

VBA编写自动清洗数据,批量处理表格方法_第5张图片

开发工具→宏→编辑,查看VBA代码

06

VBA编写自动清洗数据,批量处理表格方法_第6张图片

这里的意思就是选择第6行,删除;第1-4行,删除。

07

VBA编写自动清洗数据,批量处理表格方法_第7张图片

保存宏工作簿即可完成。但是要想一键批量清洗数据还需要增加其他代码。

08

整理思路:打开文件夹→打开需要处理的表格文件→宏(上述操作)→保存文件(循环)

所以接下来增加的代码就是打开文件夹、打开文件和保存文件。

VBA编写自动清洗数据,批量处理表格方法_第8张图片

f1 = Dir("文件夹路径\*.xlsx")

Do While f1 <> ""  Loop 循环语句

Workbooks.Open 打开文件夹和文件 

ActiveWorkbook.Close True 保存文件

只需要记住这几条代码就可以完成80%的自定义清洗数据表格。

总结思路:我们在遇到一个工作上的表格时候(你不懂编程),在网上找对应的代码(如删除第

6行)是很难找到,于是这个时候便可以使用“录制宏”功能,你只需要按照你的操作要求操作就完成了代码撰写,接下来就将上面的代码(如打开文件,保存文件)复制上去即可完成自定义批量清洗表格。

①录制宏,即可写下每个需要的操作的代码;

②复制指定代码,完成自动化处理(这部分代码在网上相对好找)‍

 写在最后,如果清洗表格后还需要合并表格,那请阅读上期文章,将power query的合并表格完成,然后再用“录制宏”功能将清洗代码结合就可以实现上一期那种一键清洗合并表格的效果,而且还是自定义的哦。

*【本期代码】请回复关键词【小白】获得

你可能感兴趣的:(VBA编写自动清洗数据,批量处理表格方法)