乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> 如何解决<em>下标越界</em>问题

<em>Excel</em> 如何解决<em>下标越界</em>问题

作者:乔山办公网日期:

返回目录:excel表格制作


Excel中vba提示下标超界,说明对象不存在或者数组元素不存在。

举个简单的例子:工作表中没有"1月"这个工作表,却用Sheets("1月");数组定义的是arr(1 to 10),却用Arr(11),都会出现下标越界e799bee5baa6e78988e69d83335的提示。

简单的理解:下标越界就是引用超出了所在的范围。

1、当我们在excel的VBA中输入下面代码,运行,就会出现“运行时错误9下标越界”的提示。代码如下:

Sub a()
Dim arr() As String
arr(1) = "你好"
End Sub

2、其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸的,或用Redim界定一下维数和尺寸即可解决此问题。

改正后的代码如下:

Sub a()

Dim arr() '定义一个动态数组

Dim i As Integer

ReDim arr(1 To 3) '定义一个3个元素的数组,并且对数组进行初始化

arr(1) = 3

arr(2) = 4

arr(3) = 5'在下面语句重新定义一个10个元素的数组,清除前面的元素,并重新分配新的存储变量

ReDim arr(1 To 10)

For i = 1 To 10

arr(i) = i

Next i

End Sub,就可以了

扩展资料:

VB中的数组越界

引用了不存在的数组元素。

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

声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:

Dim MyArray() As Integer

MyArray(8) = 234 ' 导致错误 9。

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

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

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

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

参考资料来源:百度百科-下标越界



1、在SHEET表内设置好按钮,并指定到宏。

2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。

3、在运行过程中出现了问题,下标越界,无法运行。

4、在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到"SHEET1"工作表,所以提示下标越界。

5、点击异常提示下的“调试”按钮,将代码中“SHEET1”改为“图表”后再点按钮,运行宏,代码正常运行,无下表越界提示。

注意事项:

Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。


VB在使用数组前必须指定数组的大小,一种办法是在定义时确定大小,
如:
Dim InputData(10) As Single
另一种是动态定义,声明不用修改,如在出错语句前加一句:
ReDim InputData(10) As Single

原因就是你调用的下标不存在。比如:zhidao
arr=range("A1:B2")
这个arr就是2行2列的数组,如果你使用arr(3,1),那就是下标越界了
又如你的工作簿有3个工作表,你用sheets(4)也就下标越界了

相关阅读

  • Excel 下标越界了,什么原因

  • 乔山办公网excel表格制作
  • 按钮是用VBA功能实现的。 而VBA功能中,下标越界的原因又有多种,比如:引用的工作表不存在、数组下标越界等。 所以还要具体情况具体分析。可以上传相应附件。原因就是你调用百的
  • <em>EXCEL</em> <em>VBA</em> 运行时错误9 &

  • 乔山办公网excel表格制作
  • sheet1看看是否此名称的工作表不错在!或者大小写应该是Sheet1vba 运行时错误9 下标越界" src="/uploads/tu/605.jpg" style="width: 400px; height: 267px;" />你改成m=evlauate("公式")1、引用了不存在的数组元
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网