前景提要(文末提供源码下载)
昨天我们分享了通过VBA将单个txt文件的数据导入Excel的操作。不过有小伙伴指出了我的不足,Excel2010版本之后,就已经具备了单个txt文件导入的功能
不过既然能够导入单个txt,那么是否可以实现多个txt文件一起导入呢?一次只能导入一个txt文档操作起来确实不太方便。
场景简介
我想了下,大致日常工作中需要批量导入txt的场景一般都是数据汇总的时候,这个时候txt文档也已经放在了同一个文件夹了,那么我们遍历某个文件夹内的所有txt文件,在写入就可以了
遍历用之前学习过的dir函数,再套上昨天我们学习的单个文档写入的方法,似乎并不难
代码区
Sub test()With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then pathn = .SelectedItems(1) End IfEnd Withi = Cells(Rows.Count, 1).End(xlUp).Rowf = Dir(pathn & "" & "*.txt")Do While f <> "" Filename = pathn & "" & f Open Filename For Input As #1 Do While Not EOF(1) Line Input #1, s Cells(i, 1) = s i = i + 1 Loop Close #1f = Dir()LoopEnd Sub
代码也不算是很长,完全就是上一节代码的完善
效果还不错,成功的将数据都合并在了一个工作表中
代码分析
今天的代码就很简单了,就是上节我们分享的每一个txt的写入加一个循环,和一个调用文件夹对话框的窗体,虽然知识都非常的基础,但是结合起来还是很强大的,至少实现了excel本身不具备的功能
=======================================================
本节课的案例源码已经上传,需要的小伙伴们后台私信“7-31-0”即可,希望大家多多支持~~
好了~明晚19:00,准时再见。