excel导入 excel导入txt数据,相信对于刚接触Excel的小伙伴来说还有一定的难度,下面感兴趣的小伙伴就和小编一起来学习一下excel导入txt文件的方法吧!
Excel VBA 之 将txt文档批量导入至Excel
前几天有网友提出这样的需求,文件夹里有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 实用技巧,实例+详细解析,入门必看,建议收藏
点击下面链接可以查看我的其他文章哦!
Excel VBA 之 去除重复项
Excel VBA 之 自动建立工作表目录
Excel VBA 之 隐藏合并单元格所在的行
Excel VBA 之 图片网址批量转成图片(一)
Excel VBA 之 图片网址批量转成图片(二)
Excel VBA 之 批量给word文档添加页眉页脚