【问题标题】:QueryTables problem with scientific notation科学记数法的QueryTables问题
【发布时间】:2021-05-24 14:30:44
【问题描述】:

我正在尝试从文本文件导入数据,这没有问题,代码运行并且数据已导入但不正确。我有这类数字的文本文件: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 

我不知道如何避免这个问题。

【问题讨论】:

    标签: excel vba excel-import


    【解决方案1】:

    我已经在导入时发现了冲突。如果我也设置了千位分隔符,问题就解决了:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多