我在 Windows 7 系统上使用 Excel 2016。从文本文件(csv、tsv 等)导入数据时,在数据导入向导的第三步,可以手动配置每列的数据类型。该向导页面中的默认数据类型为“常规”。我如何将该默认值更改为“文本”(或其他数据类型)?
答案1
可以将默认数据类型从“常规”更改为“文本”,但需要 VBA。
此宏将把文本文件导入 Excel,并将数据类型指定为 TEXT。
Sub Import()
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Test1.txt", Destination:=Range("$A$1") _
)
.Name = "Test1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
笔记:请检查行.TextFileColumnDataTypes = Array(2, 2, 2)
。此处 2 设置 TEXT 格式,数组的 3 个元素指定 3 列。您应该将数组设置为具有与文本文件中的列数一样多的元素。