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

したがって、ループ内でi0 より大きい値を指定すると、そのエラーが発生します。

于 2015-11-10T01:47:48.080 に答える