从文本文件中读取数据并分隔

时间:2013-05-21 10:44:58

标签: excel vba excel-vba text-files delimited-text

我有一个Excel 2010电子表格,我正在从.txt文件(以及将来的另一个.xls文件)中读取信息。

此文本文件每行有3个元素; firtname,surname和job title,每个元素用逗号分隔。我有数据读取和粘贴到Excel中,但每行都粘贴到一个单元格中。我希望将每个元素粘贴到不同的列中。我知道我应该尝试划分,但我无法弄清楚语法。

我的问题是我如何分离每个元素并将其粘贴到自己的单元格中?我目前使用逗号分隔我的.txt文件中的每个元素,但未来的文件可能会使用制表符,句号,分号等。如何扩展它以便涵盖所有基础?

下面是我的代码,在我的代码下面是虚拟数据的样本

Sub FetchDataFromTextFile()
    Dim i As Long
    Dim LineText As String
    Open "C:\mytxtfile.txt" For Input As #24
    i = 2
    While Not EOF(24)
        Line Input #24, LineText
        ActiveSheet.Cells(i, 2).Value = LineText
        P = Split(Record, ",")
        i = i + 1
    Wend
    Close #24
End Sub

John,Doe,Boss

Johnny,Steele,经理

Jane,Smith,员工

注意:其他编程语言中的竞争对手,但是在大约6或7年内没有完成VB。我似乎永远无法绕过VB语法,所以请像对待我一样对待我。

1 个答案:

答案 0 :(得分:3)

Sub FetchDataFromTextFile()
    Dim i As Long
    Dim LineText As String
    Open "C:\mytxtfile.txt" For Input As #24
    i = 2
    While Not EOF(24)
        Line Input #24, LineText
            Dim arr
            arr = Split(CStr(LineText), ", ")
            For j = 1 To 
                ActiveSheet.Cells(i, j).Value = arr(j - 1)
            Next j
            i = i + 1
    Wend
    Close #24
End Sub

different delimiters, make use of the answers in here