这是我的第一篇文章,所以请耐心等待 . 我目前正在学习excel的VBA编码,我正在尝试读取.csv文件并对其进行解释 . 但是当我运行脚本时,我会收到错误'9'(下标超出范围),虽然代码仍然有效,但我需要摆脱它 . 代码如下:

Sub OpenTextFile() 
Worksheets("Ark1").ChartObjects.Delete
Close #1
Call chart


Dim path As String
path = "C:\hello"

Dim file As String
file = Range("C1").Value


Dim filetype As String
filetype = ".csv"

Dim FilePath As String
FilePath = path & file & filetype


Open FilePath For Input As #1 

row_number = 0

Do Until EOF(1)   

     Line Input #1, LineFromFile

     LineItems = Split(LineFromFile, ";")

     ActiveCell.Offset(row_number, 1).Value = LineItems(2) <-Debug tells me problem is here
     ActiveCell.Offset(row_number, 0).Value = LineItems(1)

     row_number = row_number + 1

Loop

Close #1
End Sub

Private Sub chart() 
Range("A1:A96").Select 
ActiveSheet.Shapes.AddChart.Select
End Sub

Private Sub CommandButton1_Click()调用OpenTextFile End Sub

现在我一直在我的“ActiveCell.Offset(row_number,1).Value = LineItems(2)”中出现错误(我怀疑下一行会发生同样的事情)

我找不到任何问题的解决方案,因为我的Do循环中的EOF函数应该定义循环的结束,并且数据被复制得很好 . 如果有帮助,我使用本指南编写代码:http://www.homeandlearn.org/open_a_text_file_in_vba.html - 提前,谢谢! :)