使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例)

来源:互联网 发布:宝宝起名字软件 编辑:程序博客网 时间:2024/06/07 03:17

相信大家对Excel并不陌生,因为但凡了解Windows系统的童鞋,都知道Word、Excel、PowerPoint是Windows的办公软件中最最常用的软件。但是大家对VBA了解的就会少很多,因为这个属于 Excel的高级使用项目,对于喜欢写自动化或批处理的童鞋来说,这个肯定是会让你上瘾的东西。

好了,介绍了这么多。还是不知道VBA是什么呢。

OK。我们先举个别的例子,什么例子呢?大家都知道Windows系统上的文件资源管理器。我们会用它新建文件、查看文件、查找文件等。平日里简单的操作,用鼠标点击几下倒也无妨。但如果在要批量创建文件或在很大的文件夹中查找以“.txt”结尾的文件且文件名中要包含“学习”,找到后把所有的文件名记录下来。一个很大的文件夹哦。怎么办??用鼠标一个一个文件夹找?效率很低,对吧。
如果你知道dos命令,这是个很简单的任务。如下图:
DOS命令
第一个命令:dir /S /B 是显示当前文件夹和子文件夹中的文件夹和文件列表。
第二个命令:dir *学习*.txt /S /B 则是只显示符合要求的文件。

简单吧。上述的dos命令可以处理复杂和重复操作的任务。VBA对于Excel也是类似功能。

我的Excel版本是2016。在选项卡上,有个“开发工具”,如下图所示
EXCEL 开发工具
如果看不到怎么办?通过如下操作就可以让它现原形了
开始 -》选项 -》自定义功能区 -》 勾选开发工具,即可。
EXCEL 如何显示“开发工具”
EXCEL 如何显示“开发工具”

点击“录制宏”,在对话框点击“确定”,做一些操作后,点击“停止录制”
EXCEL 录制宏
EXCEL 录制宏
EXCEL 录制宏
EXCEL 录制宏

现在清空上述填写的内容,看看如何执行宏,来自动填充内容。
EXCEL 录制宏
EXCEL 录制宏
EXCEL 录制宏
EXCEL 录制宏

接下来,我们看看我们录制的宏脚本在哪里呢?
点击“Visual Basic”,查看“模块1”的内容。
这里写图片描述
这里写图片描述
下面简单介绍VBA语句的含义:

Range(“H7”).Select“H7”
表示第7行第H列单元格。这个语句的意思是选择H7单元格

ActiveCell.FormulaR1C1 = “1”
选中的单元格的内容填写“1”

ActiveCell.FormulaR1C1 = “=SUM(R[-3]C:R[-2]C)”
选中的单元格填写一个求和公式。当前活动单元格是“H10”,公式的即是求得“H7”和“H8”单元格的和。

下一节将介绍如何使用VBA打开另一个Excel,并读取数据。

阅读全文
0 0
原创粉丝点击