如何把若干个txt文件导入一个excel表

如何把若干个txt文件导入一个excel表,要求一个txt文件的内容写入表中的一个指定单元格。比如有1.txt、2.txt、3.txt三个文件,指定分别导入b1、b2、b3三个单元格。
找到一个方法,如下,但是文本内容会粘贴在若干单元格,我的目的是文本文件里的内容全部写入一个单元格,看看有哪位高手帮我改改下面这段代码。
新建一空白Excel,在A1、B1分别输入 ”文件名“、”文本内容“
同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = "E:\abc\"
ChDrive Left(MyDir, 1)
ChDir MyDir
Match = Dir$("*.txt")
Do
Workbooks.Open Match, 0
ThisWorkbook.ActiveSheet.Range("B65000").End(xlUp).Offset(1, -1) = Left(Match, Len(Match) - 4)
Range("A1").CurrentRegion.Copy ThisWorkbook.ActiveSheet.Range("B65000").End(xlUp).Offset(1, 0)
Windows(Match).Close 0
Match = Dir$
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub
【E:\abc\为存放文本文件的文件夹,在此界面直接按F5运行此宏,完成。】
分析:估计是选定粘贴区域时,鼠标指针仅选中了单元格而非激活单元格。手工粘贴内容较多时可以比较,仅选中单元格粘贴,粘贴范围会覆盖若干单元格;双击激活一个单元格,全部内容就都粘贴进入一个单元格。

  Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。


  ".txt"后缀文本文档导入 Excel 文件中:

    打开 Excel ,选择数据选项卡,选择自定义文本选项;

    在弹出的资源管理器中选择 txt 文件,点击“打开”按钮;

    文本导入向导 - 步骤1:

      选择合适的文件类型:分隔符号(如逗号或字表符分隔每个字符);固定宽度(每列字段加空格对齐);

      其它一般默认,点击“下一步”按钮。

    文本导入向导 - 步骤2:

      设置分列数据所包含的分隔符号,即每个单元格如何辨别;

      示例(此处选择分隔符号为“空格”),选择分隔符号后可以看下数据预览是否正确。

      [文本文档]

      1.1 1.2 1.3

      2.1 2.2 2.3

      3.1 3.2 3.3

      [Excel]

      A    B    C    D    E

        1 1.1 1.2 1.3

        2 2.1 2.2 2.3

        3 3.1 3.2 3.3

        4

        5

    c.    点击“下一步”按钮。

    文本导入向导 - 步骤3:

      选择列数据格式,一般选择常规;

      点击“完成”按钮。

    选择数据放置位置,即数据的第一行第一列所在的位置,一般选择 A1 单元格;

    数据导入成功,接下来就可以对表格样式进行美化了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-06
按ALT+F11
在菜单上选择插入-模块-在右边空白处粘贴以下代码-关闭-运行宏

Sub DAORU()
Dim s() As String, f As String, i As Long, b() As Byte
f = Dir(ThisWorkbook.Path & "\*.TXT")
While f > ""
Open ThisWorkbook.Path & "\" & f For Input As #1
s = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
Close #1
[b1].Offset(i, 0).Resize(UBound(s) + 1) = Join(s," ")
i = i + 1
f = Dir()
Wend
MsgBox "OK"
End Sub本回答被提问者采纳
第2个回答  2010-04-30
森林浴1
好代码!学习了!
不过你把这道题做反了
第3个回答  2010-04-30
分别复制粘贴啊。
相似回答