使用VBA读取CSV时出错

时间:2016-07-11 12:38:45

标签: excel vba excel-vba csv

我正在尝试使用VBA读取CSV。关注this tutorial后,我会收到以下代码:

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

这是我的CSV:

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

执行代码时,出现错误:

  

指数超出范围

此行标记为黄色:

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

1 个答案:

答案 0 :(得分:3)

你有一个错字:

LineItems = Split(LineFromLine, ",")

应该是

LineItems = Split(LineFromFile, ",")

如果您在模块的开头使用Option Explicit,则不会发生这种情况;)