问题描述
我正在尝试从文本文件导入数据,这没有问题,代码运行并且数据已导入但不正确。我有包含此类数字的文本文件:1.3309884e-13
当我导入值时,Excel 没有采用正确的负指数,而是返回 1.3309884e-5
和类似的值。代码是这样的:
Dim ws As Worksheet,strFile As String
Set ws = ActiveWorkbook.Worksheets("DEPOSITION BC")
strFile = Application.GetopenFilename("Text Files (*.csv),*.csv","Please select Black Carbon Dry Deposition bin 01 file (BCDP01)")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile,_
Destination:=ws.Range("C5"))
.TextFileParseType = xlDelimited
.TextFileDecimalSeparator = "."
.TextFileCommaDelimiter = True
.TextFileStartRow = 23
.RefreshStyle = xloverwriteCells
.Refresh
End With
我不知道如何避免这个问题。
解决方法
我已经在导入时发现了冲突。如果我也设置千位分隔符,问题就解决了:
Dim ws As Worksheet,strFile As String
Set ws = ActiveWorkbook.Worksheets("DEPOSITION BC")
strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv","Please select Black Carbon Dry Deposition bin 01 file (BCDP01)")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile,_
Destination:=ws.Range("C5"))
.TextFileParseType = xlDelimited
.TextFileDecimalSeparator = "."
.TextFileCommaDelimiter = True
.TextFileStartRow = 23
.TextFileThousandsSeparator = False
.RefreshStyle = xlOverwriteCells
.Refresh
End With