Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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	ofilemycsv.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)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
229 views
Welcome To Ask or Share your Answers For Others

1 Answer

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 ;)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...