VBA错误信息:下标越界(错误 9)

发布: 2009-1-31 08:53  作者: webmaster  查看: 4116次 共有0条评论

:下标越界(错误 9)

只能在定义的范围内访问数组元素和集合成员。此错误有以下的原因和解决方法:

  • 引用了不存在的数组元素.

    下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用UBoundLBound函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

  • 声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:
    Dim MyArray() As Integer
    MyArray(8) = 234    '导致错误9

    Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用DimReDim来指定数组中元素的数目。

  • 引用了不存在的集合成员。

    试着使用 Each...Next结构代替指定元素下标。

  • 使用速写形式的下标,结果指定了错误的元素。

    例如,当在集合上使用!运算子时,!自动指定了一个键。例如object!keyname.value 和object.item(keyname).value 是一样的。在此例中,集合中如果keyname表示一个错误键,错误就会产生。若要改进此错误,在集合对象中使用正确的键名称或索引。

详细信息,可选取有问题的项目,并按下 F1 (在Windows中)或HELP(在Macintosh中)键。

相关阅读
大家对 VBA错误信息:下标越界(错误 9) 的评论
最新PPT教程
最新评论
PPT问答