【问题标题】:How to import multiple txt files' data into one Excel sheet?如何将多个txt文件的数据导入一张Excel表格?
【发布时间】:2013-04-29 14:38:27
【问题描述】:

我想将一个文件夹中多个txt文件的数据放到一张Excel表格中。

我录制了一个宏,最后打开了不同工作簿中的文件。

Sub GetTxtData()

ChDir "C:\Users\Desktop\TXT"
Workbooks.OpenText Filename:="C:\Users\Desktop\TXT\Data0.txt", Origin:= _
    xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
    , ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
    False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1) _
    , Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True

Workbooks.OpenText Filename:="C:\Users\Desktop\TXT\Data1.txt", _
    Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
    Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
    TrailingMinusNumbers:=True
End Sub

【问题讨论】:

  • 我会执行一个完整的循环,包括将数据复制到一个工作表中,同时记录宏
  • 为什么不尝试使用获取外部数据导入数据?有一个教程:on the MSDN
  • 另外,这是 Siddharth Rout 对这种类型 pf 的一个很好的回答:http://stackoverflow.com/questions/11267459/vba-importing-text-file-into-excel-sheet
  • 谢谢 Philip 但我有 30 多个 txt 文件,其中包含数据,使用获取外部数据不是一个可行的想法,我会尝试 Siddharth 的方法。
  • Marc,这取决于文件的格式,如果它们适合在 ADO 记录集中,您可以在循环中读取它们,并且每个使用 CopyFromRecordset 将数据放入您的工作表中

标签: excel vba


【解决方案1】:

尝试导入数据而不是打开 csv 文件。

在 Excel 2007 中,这是通过数据,来自文本来完成的。

你会得到类似的东西: ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:\Users\Desktop\TXT\Data0.txt", Destination:=Range("$A$1")) ...

您将不得不更改代码中的目标以防止文件在同一位置相互覆盖。如果我希望它们都在不同的工作表上,我会使用包括工作表名称在内的完整地址。

【讨论】:

猜你喜欢
  • 2019-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 2020-07-30
相关资源
最近更新 更多