站内搜索:

运行时错误‘9’:下标越界

浏览人数:
我们看实际情况,现有5个表,顺序不一样,在vba代码中的第4行,我们使用了:
Debug.Print Sheets(6).Range("a1")
代码中指定的是第6个表,而实际只有5个,最后VBA给出错误提示。



下村越界,一般是参数超范围(最大或者最小值)
同样的,假设把上面的6改为0,再次运行此代码,同样会出现此提醒,
Debug.Print Sheets(0).Range("a1")

因为使用sheet(第几个表)的值是从1开始的。小于1,以及大于实际的工作表数,都会提示错误。

同样,使用sheet("工作表名")时,如果工作表名不存在,同样也会出现此提示,

Debug.Print Sheets("sheet3").Range("a1")

因为原工作表中,并没有sheet3这个表,只有一部,二部,三部,sheet1和sheet2

文件未打开时,运行VBA代码提示下标越界,如下图:

workbooks处理的对象,是打开的Excel文件等,当打开对应的文件,运行代码时,可以在对应的sheet表单元格中添加内容值,但当关闭此文件时,再运行代码提示错误。

制作表格zhizuobiaoge.com
Copyright@all rights reserved