+ -
当前位置:首页 → 问答吧 → run-time error "9"

run-time error "9"

时间:2011-07-22

来源:互联网

vb 程序运行时出现 run-time error "9" 是怎么回事?
这是什么错误?
怎么解决?

作者: trip911   发布时间: 2011-07-22

检查下是不是组数下表越界的问题。

作者: BestBadGod   发布时间: 2011-07-22

把错误的代码贴上来。要不谁也不知道的。

作者: BestBadGod   发布时间: 2011-07-22

运行时错误,是不是数据类型使用错误,造成了溢出?

作者: Veron_04   发布时间: 2011-07-22

看错误消息提示。


下标越界(错误 9)
   

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

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

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

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

引用了不存在的集合成员。 
试着使用 For Each...Next 结构代替指定元素下标。

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

详细信息,可选取有问题的项目,并按下 F1 键。

作者: sysdzw   发布时间: 2011-07-22