qstringlist格式怎么写到txt_Excel VBA 之 将txt文档批量导入至Excel

本文介绍如何通过VBA宏快速将多个TXT文件的数据批量导入Excel的不同列中,并提供了详细的VBA代码及解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

99af3d5554358aba6fa46086b1a6b02e.png

前几天有网友提出这样的需求,文件夹里有n个txt文档,每个文档的内容都是一列数据,现在需要将所有txt导入到Excel,按列排放,如果手动操作的话,那是相当耗时间的,今天我来讲一下用VBA怎么快速实现将txt文档批量导入至Excel。

首先,创建一个Excel宏文件,按Alt+F11调出VBA代码界面,插入一个模块,新建一个过程Sub

写入以下代码

00Sub inTxt()01    Dim txtName$02    Dim myPath$03    Dim myText$04    Dim c%, r&05    Application.ScreenUpdating = False06    myPath = ThisWorkbook.Path & ""07    txtName = Dir(myPath & "*.txt")08    Columns.NumberFormatLocal = "@"09    Rows.ClearContents10    c = 111    While txtName <> ""12        Open myPath & txtName For Input As #113        r = 214        Cells(1, c) = txtName15        Do While Not EOF(1)16            Input #1, myText17            Cells(r, c) = myText18            r = r + 119        Loop20        Close #121        c = c + 122        txtName = Dir23    Wend24    Application.ScreenUpdating = True25    MsgBox ("完成!")26End Sub

代码解析

01-03行:定义txt文件名、当前宏所在路径、txt行数据缓存

04行:定义列号、行号

05行:关闭屏幕刷新

06行:当前宏所在路径赋值

07行:查找当前宏所在文件夹的txt文件,没有找到则返回""

08行:设置单元格格式为文本格式,为了保持txt里的数据格式不被Excel自动修改

09行:清除所有数据

10行:列号初始值为1(从A列开始)

11行:使用While…Wend语句重复执行第12行到第22行代码,直到遍历完所有txt文件

12行:使用Open语句打开txt文件以完成对txt文件的输入,#1是文件号

13行:行号初始值为2(第1行存放txt文件名)

14行:第1行写入txt文件名

15行:使用Do…Loop 语句重复执行第16行到第18行代码,直到文本文件的结尾。

EOF函数返回一个Integer,它返回Boolean值True,表明已经到达为Random或顺序Input打开的文件结尾。EOF后的参数是文件号

16行:读入一行数据并将其赋予变量myText

17行:将myText填入单元格

18行:行号+1,myText数据将往下填充

20行:关闭Open语句打开的txt文件

21行:列号+1,进行下个文件的读取

22行:获取下个txt文件,如果没有找到则返回""

24行:打开屏幕刷新

25行:提示程序执行完成,可以根据自己需要决定是否添加

最后,我们可以在Excel Sheet里添加一个按钮,指定宏为我们创建的Sub

让我们看一下程序运行效果

848个Excel VBA 实用技巧,实例+详细解析,入门必看,建议收藏

c67eb2019dcd7e5ef00b059419123d82.gif

程序效果

点击下面链接可以查看我的其他文章哦!

Excel VBA 之 去除重复项

Excel VBA 之 年会抽奖小程序

Excel VBA 之 自动建立工作表目录

Excel VBA 之 隐藏合并单元格所在的行

Excel VBA 之 图片网址批量转成图片(一)

Excel VBA 之 图片网址批量转成图片(二)

Excel VBA 之 批量给Word文档添加页眉页脚

848个Excel VBA 实用技巧,实例+详细解析,入门必看,建议收藏

喜欢的朋友记得点赞关注哦,网友们如果在Excel中遇到问题都可以找我交流,也可以在评论区或私信告诉我你想看到的VBA办公教程,我将在下期分享给大家,以后不定期更新Excel VBA技巧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值