Excel 如何解决下标越界问题

 我来答
百度网友faadf46
高粉答主

2019-12-17 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:69.4万
展开全部

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

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

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

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

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

注意事项:

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

COUNTIFABS
2018-10-08 · TA获得超过2154个赞
知道大有可为答主
回答量:1594
采纳率:55%
帮助的人:1217万
展开全部
只能在定义的范围内访问数组元素和集合成员。
此错误有以下的原因和解决方法:
引用了不存在的数组元素.
下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。
声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误: Dim MyArray() As Integer MyArray(8) = 234 ' 导致错误 。
Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。
相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。
引用了不存在的集合成员。
试着使用 For Each...Next 结构代替指定元素下标。
使用速写形式的下标,结果指定了错误的元素。
例如,当在集合上使用 ! 运算子时,! 自动指定了一个键。
例如 object!keyname.value 和 object.item(keyname).value 是一样的。
在此例中,集合中如果 keyname 表示一个错误键,错误就会产生。
若要改进此错误,在集合对象中使用正确的键名称或索引。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yj695865584
2018-10-08 · 超过25用户采纳过TA的回答
知道答主
回答量:92
采纳率:60%
帮助的人:9.2万
展开全部
检查文件是否重命名或者路径是否修改,下标越界是因为找不到文件所导致的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
示琬蔡恺
2019-05-22 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:667万
展开全部
下标越界这个是VBA里面的问题,主要指你输入的命令值已经超过了它的边界值即最值(最大最小)这个要根据具体情况具体解决:
举个例子:VBA中个二维数组,arr(1
to
10,1
to
10),代表他可以储存arr(x,y)
(注:
x取值
1到10,y取值1到10.)100个数据(或者对象);如果你让x,y取了其他值,那么系统就报错,下标越界
处理这类越界的问题有两种方法:
1、粗处理:定义一个比较大的数组,保证控件足够。弊端:占内存;
2、细处理:根据实际情况定义数组大小,用redim
及时调整数组的大小;
以上例子是针对数组的举例;其他如excel只包含三个sheet,你代码出现sheets(4)也会报错,告诉你下标越界。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式