如何将多个txt批量导入Excel并以txt文件名命名工作表名称

 我来答
绿衣人敲门
推荐于2016-10-15 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63777
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部
举例:
假设所有的文本文件都在“D:\text”目录下,只处理.txt文件。

步骤1:导出文件列表
点xp系统的开始菜单,点“运行”命令,输入cmd再回车,进入命令窗口,输入

命令 dir D:\text\*.txt /b /on > c:\list.txt ,回车。现在在c:盘下会有个list文件,包含要处理de文件的文件名。

步骤2:运行下面代码。
Option Explicit
Public Const sPath As String = "D:\text" '请改为你的txt所在的路径
Public FileName() As String '要处理的文件名
Public MyString() As String '从text中读取内容

Sub ReadFile()
Dim getLine '每次读取一行数据
Dim i%, t%, k%

i = FreeFile
Open "c:\list.txt" For Input As #i ' 打开输入文件。
Do While Not EOF(i)
Input #i, getLine '将数据读入变量。
t = t + 1
Loop
k = t - 1
ReDim FileName(k), MyString(k)
t = 0
Seek #i, 1 '设置文件的第一条记录
Do While Not EOF(i)
Input #i, FileName(t)
FileName(t) = sPath & "\" & FileName(t)
t = t + 1
Loop
Close #i ' 关闭文件。

'读取txt内容到本excel表格
For t = 0 To k
i = FreeFile
Open FileName(t) For Input As #i
Do While Not EOF(i)
Input #i, getLine
MyString(t) = MyString(t) & vbNewLine & getLine
Loop
Close #i
With ThisWorkbook.Sheets(1)
.Cells(t + 1, 1) = FileName(t)
.Cells(t + 1, 2) = Right(MyString(t), Len(MyString(t)) - 2)
End With
Next t

End Sub
nizheiwanyi
推荐于2016-12-06 · 知道合伙人软件行家
nizheiwanyi
知道合伙人软件行家
采纳数:546 获赞数:5709
数码爱好者

向TA提问 私信TA
展开全部

使用如下VBA代码实现,复制粘贴到VBA模块中运行即可(alt+F11)。

Sub import_txt()
On Error Resume Next
Dim my_Link, my_Doc As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
.AllowMultiSelect = False
my_Link = .SelectedItems(1)
End With

Dim doc_Count As Single
doc_Count = 0
my_Doc = Dir(my_Link & "\" & "*.txt")

Do While Len(my_Doc) <> 0
Worksheets.Add
ActiveSheet.Name = my_Doc
Dim my_Word As String
Dim i As Single
i = 1
Open my_Link & "\" & my_Doc For Input As #1
Do While Not EOF(1)
Line Input #1, my_Word
Cells(i, 1) = my_Word
i = i + 1
Loop
Close
doc_Count = doc_Count + 1
my_Doc = Dir
Loop
MsgBox "共导入" & doc_Count & "个文件"
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三井熊
2018-02-07 · TA获得超过1204个赞
知道小有建树答主
回答量:909
采纳率:64%
帮助的人:172万
展开全部
由于你没有TXT样例,所以我只能简单说一下过程
最合理的办法是采用编写一段vba的方式来做
先是遍历TXT所在的整个文件夹,依次打开文件,取得文件名,并在excel中建立相应的sheets
再把文件中的数据按要求逐行写入excel,并关闭文件
以此循环直至结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
biaotiger1
2015-06-16 · TA获得超过1166个赞
知道小有建树答主
回答量:1570
采纳率:33%
帮助的人:430万
展开全部
VBA轻松实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式