0

我不断得到

运行时错误“9”:下标超出范围

我试图让用户确定他们想从QUANDL下载哪些股票

Dim stock1 As Variant  
Dim stock2 As Variant  
Dim i As Integer  
Dim stock() As Variant  
ReDim stock(i) As Variant  
stock1 = InputBox("Stock? Enter all in uppercase")  
stock2 = InputBox("Stock?")  
Range("B2").Value = "YAHOO/" & stock1 & "/6"
Range("C2").Value = "YAHOO/" & stock2 & "/6"

For i = 3 To 30  
    If stock(i) = InputBox("Stock?") Then
    Range(Cells(2, 1 + i)) = "YAHOO/" & stock(i) & "/6"
    ElseIf stock(i) = "last" Then
    Exit For
    End If
Next i

If stock(i) = inputbox("Stock?") Then行不断收到错误。

4

1 回答 1

1

在语句i中使用它之前,您没有分配任何值。ReDim一个未赋值的整数有一个Emptyor0值:

将数组重新调整为i,上面每个都有一个空/0 值:

ReDim stock(i) As Variant   

相当于:

ReDim stock(0) As Variant

因此,在您的循环中,任何i大于 0 的值都会引发该错误。

于 2015-11-10T01:47:48.080 回答