我正在尝试使用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)
答案 0 :(得分:3)
你有一个错字:
LineItems = Split(LineFromLine, ",")
应该是
LineItems = Split(LineFromFile, ",")
如果您在模块的开头使用Option Explicit
,则不会发生这种情况;)