运行时错误‘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
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表单元格中添加内容值,但当关闭此文件时,再运行代码提示错误。
上一篇: 运行时错误'424': 要求对象
下一篇: VBA输入框(InputBox)
制作表格zhizuobiaoge.com
Copyright@all rights reserved