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

时间:2014-09-24 20:44:43

标签: excel vba subscript

这是我的第一篇文章,所以请耐心等待。 我目前正在学习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    结束子

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

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

0 个答案:

没有答案