将导入的文本转换为可读的数字和日期

问题描述 投票:0回答:0

我想让excel能够读取导入的txt。文件编号和日期。我的文本文件包含用逗号分隔的单词、数字和日期,但是当我运行我的代码时,excel 将所有数字视为普通文本,因此我必须手动将它们更改为数字。有没有一段代码可以添加到我的代码中,以便在我导入 txt 文件时自动检测数字?我正在考虑添加一个 sub texttonumber(),但我希望只有一个代码可以一次完成所有操作,而不是分两步进行。

(注意:我知道我可以使用 Power Query,但在这种情况下我想使用 VBA)

Sub ImportText3()

    Dim ThisLine As Variant
    Dim fileFilterPattern As String
    Dim n As Long
    
    fileFilterPattern = "Text Files *.txt,*.txt"

    ThisLine = Application.GetOpenFilename(fileFilterPattern)
    
    If ThisLine = False Then
        MsgBox "No file selected."
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    
    Open ThisLine For Input As #1
    Do Until EOF(1)
        Line Input #1, ThisLine
        If Len(ThisLine) > 0 Then
            ThisLine = Replace(ThisLine, ",", Chr(9))
            ThisLine = Split(ThisLine, Chr(9))
            ActiveCell.Offset(n, 0).Resize(1, UBound(ThisLine) + 1).Value = ThisLine
        End If
        n = n + 1
    Loop
   
    Close #1

    Application.ScreenUpdating = True

End Sub
excel vba text import data-conversion
© www.soinside.com 2019 - 2024. All rights reserved.