使用ActiveCell.Offset的VBA使运行时错误9下标超出范围

这是我的第一篇文章,请耐心等待。 我目前正在学习Excel的VBA编码,我正在尝试读取一个.csv文件并解释它。 但是当我运行这个脚本的时候,我会得到一个错误“9”(下标超出范围),尽pipe代码仍然有效,但是我需要去除它。 代码如下:

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)”(我怀疑同样会发生在下一行)

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