Error while reading CSV with VBA

2019-09-20 05:27发布

I'm trying to read a CSV with VBA. When following this tutorial, I get the following code:

Sub OpenTextFile()

Dim FilePath As String
FilePath = "C:\path\to\file\mycsv.csv"
Open FilePath For Input As #1
row_number = 0

Do Until EOF(1)
    Line Input #1, LineFromFile
    LineItems = Split(LineFromLine, ",")

    ActiveCell.Offset(row_number, 0).Value = LineItems(2)
    ActiveCell.Offset(row_number, 1).Value = LineItems(1)
    ActiveCell.Offset(row_number, 2).Value = LineItems(0)

    row_number = row_number + 1
Loop

Close #1

End Sub

This is my CSV:

peter,paris,23
mary,london,34
steve,rome,56
lily,madrid,65

When executing the code, I get an error:

Index out of range

And this line is marked yellow:

ActiveCell.Offset(row_number, 0).Value = LineItems(2)

1条回答
Fickle 薄情
2楼-- · 2019-09-20 06:00

You have a typo:

LineItems = Split(LineFromLine, ",")

should be

LineItems = Split(LineFromFile, ",")

This would not have happened if you used Option Explicit at the beginning of your module ;)

查看更多
登录 后发表回答