理由はいろいろ考えられるが、ありがちな原因として、要素数を指定しない配列に値を代入すると、このメッセージが出る。
下記の例では表題のエラーメッセージが出るが、ReDimコマンドで要素数を指定し忘れているのが原因である。
Dim d() As Double ' ここはコメント、例えばここで「ReDim d(3)」などと書けば動作する d(0) = 1.0
自作のクラスでも同様である。以下は実行時に表題のとおりのエラーメッセージが表示される(コンパイルはできる)。
Public Class SubClass
Public n As integer
End Class
Public Class MainClass
Dim i As Integer
Dim c() As SubClass
ReDim c(9)
For i = 0 To 9
'c(i) = New SubClass
c(i).n = i
Next i
End Class
上記プログラム中でコメントになっている青字の行のコメントを外せば、動作する。