下标越界

时间:2024-09-14 20:32:28编辑:阿星

在excel中用vba提示下标越界是什么意思

Excel中vba提示下标超界,说明对象不存在或者数组元素不存在。举个简单的例子:工作表中没有"1月"这个工作表,却用Sheets("1月");数组定义的是arr(1 to 10),却用Arr(11),都会出现下标越界的提示。简单的理解:下标越界就是引用超出了所在的范围。1、当我们在excel的VBA中输入下面代码,运行,就会出现“运行时错误9下标越界”的提示。代码如下:Sub a()Dim arr() As Stringarr(1) = "你好"End Sub2、其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸的,或用Redim界定一下维数和尺寸即可解决此问题。改正后的代码如下:Sub a()Dim arr() '定义一个动态数组Dim i As IntegerReDim arr(1 To 3) '定义一个3个元素的数组,并且对数组进行初始化arr(1) = 3arr(2) = 4arr(3) = 5'在下面语句重新定义一个10个元素的数组,清除前面的元素,并重新分配新的存储变量ReDim arr(1 To 10)For i = 1 To 10arr(i) = iNext iEnd Sub,就可以了扩展资料:VB中的数组越界引用了不存在的数组元素。下标可能比下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:Dim MyArray() As IntegerMyArray(8) = 234 ' 导致错误 9。Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。引用了不存在的集合成员。试着使用 For Each...Next 结构代替指定元素下标。使用速写形式的下标,结果指定了错误的元素。参考资料来源:百度百科-下标越界

Excel 如何解决下标越界问题

1、在SHEET表内设置好按钮,并指定到宏。2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。3、在运行过程中出现了问题,下标越界,无法运行。4、在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到"SHEET1"工作表,所以提示下标越界。5、点击异常提示下的“调试”按钮,将代码中“SHEET1”改为“图表”后再点按钮,运行宏,代码正常运行,无下表越界提示。注意事项:Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。

运行时错误9下标越界怎么解决啊,具体一点?

这是数组的下标越界。
数组可以用相同名字引用一系列变量,并用数字来识别它们。
在许多场合,可用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理各种情况。数组有上界和下界,数组的元素在上下界内是连续的,因为Visual Basic对每一个索引值都分配空间,所以不要不切实际地声明一个太大的数组。
一个数组中的所有元素应该具有相同的数据类型。当然,当数据类型为变体型时,各个元素能够包含不同种类的数据(对象、字符串、数值等等),可以声明任何基本数据类型的数组,包括用户定义的类型和对象变量。
在Visual Basic中有两种类型的数组,固定大小的数组和在运行中大小可以改变的动态数组。
有三种方法声明固定大小的数组。
在模块的声明段,用Public语句声明公用数组。
在模块的声明段,用Private语句声明数组。
在过程中,用Private语句声明局部数组。
希望我能帮助你解疑释惑。


运行时出现错误9下标越界,该怎么解决?

3、在运行过程中出现了问题,下标越界,无法运行。4、查看问题原因为,在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到"SHEET1"工作表,所以提示下标越界。5、点击异常提示下的“调试”按钮,将代码中“SHEET1”改为“图表”后再点按钮,运行宏,代码正常运行,无下表越界提示。【摘要】
运行时出现错误9下标越界,该怎么解决?【提问】
您好,您可以这样操作:1、首先在SHEET表内设置好按钮,并指定到宏,(宏所在SHEET的名称为“图表”)。2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。【回答】
3、在运行过程中出现了问题,下标越界,无法运行。4、查看问题原因为,在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到"SHEET1"工作表,所以提示下标越界。5、点击异常提示下的“调试”按钮,将代码中“SHEET1”改为“图表”后再点按钮,运行宏,代码正常运行,无下表越界提示。【回答】
1.VB在使用数组前必须指定数组的大小,一种法是在定义时确定大小,如:DimInputData(10)AsSingle另一种是动态定义,声明不用修改,如在出错语句前加一句:ReDimInputData(10)AsSingle【回答】
扩展资料:1.Microsoft Office Excel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件【回答】
2.该软件直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主.3.2021年6月8日,工信部发布关于侵害用户权益行为的App通报(2021 年第 5 批,总第 14 批),Microsoft Excel在列。【回答】
非Excel,其他软件出现这种情况怎么解决【提问】
您好,如果是这样情况,应该是:1.贴错错误信息了,从你的代码来看,应该不会有下标越界错误,就算后面的for循环可能出问题,前面也有on error resume next语句,2.是不可能由于运行时错误而终断的.【回答】
3.其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸的,或用Redim界定一下维数和尺寸即可解决此问题。【回答】


上一篇:塑化剂 白酒

下一篇:没有了