我在整理我的 VBA 代码时发现了这个论坛。到目前为止,我在 VBA 编程方面的经验很少。这就是为什么我从两天以来一直在研究我的问题的解决方案,但没有成功。但是,我对提高我的编程技能很感兴趣,希望您能帮助我做到这一点。
基本上我想将一个 TXT 文件导入到活动的 Excel 工作簿中,在名为“TblDataImport”的表末尾名为“DataImport”的工作表中。
TXT 文件由 13 列组成,由制表符分隔:
- 行:公司名称
- 行:日期 名称CustomerGroup CustomerNo SalesOrder ItemNumber ItemGroup LineStatus Quantity Price Discount DiscountPercentage NetAmount
- 行:所有对应的值...
我不需要导入第一行和第二行,因为我想将数据导入到区域的表存在,包括标题。此外,我只需要 13 列中的 7 列,这些列以粗体显示。如果用户可以使用打开文件对话框选择文本文件,那将是完美的。
如果我手动打开 TXT 文件并将其内容粘贴到 Excel 中,它已经包含
在正确的列中。所以在格式化方面不应该有任何陷阱。
我很好奇您提出的解决方案。
使用宏记录器我只能满足我的一些条件:
Sub DataImport()
' DataImport Makro
Sheets("DataImport").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Sales.txt", Destination:=Range _
("$A$1"))
.Name = "AxaptaSales"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(4, 1, 9, 9, 1, 9, 9, 9, 1, 1, 1, 9, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
但是,此代码仅将所有列粘贴到单元格 A1 中(而不是在表的末尾)。它还包括第一行和第二行以及我不需要的列。