下标访问越界下标访问越界是什么意思
本文目录一览:
- 1、Excel 为什么 运行时错误9 下标越界
- 2、Excel 如何解决下标越界问题?
- 3、Excel 如何解决下标越界问题
- 4、VB中实时错误9:“下标越界”是什么意思?
- 5、各位大侠,广联达打开后显示下标访问越界是怎么回事啊?
Excel 为什么 运行时错误9 下标越界
Excel中vba提示下标超界,说明对象不存在或者数组元素不存在。
举个简单的例子:工作表中没有"1月"这个工作表,却用Sheets("1月");数组定义的是arr(1 to 10),却用Arr(11),都会出现下标越界的提示。
简单的理解:下标越界就是引用超出了所在的范围。
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 结构代替指定元素下标。
使用速写形式的下标,结果指定了错误的元素。
参考资料来源:百度百科-下标越界
Excel 如何解决下标越界问题?
excel运行错误g下标越界怎么解决
1、首先,我们打开要操作的excel表格。
2、之后将要操作的数据选中。
3、之后在上方的工具栏中点击【方方格子】选项。
4、之后在下方点击【更多】。
5、然后在弹出的列表中点击【字符上下标】。
Excel 如何解决下标越界问题
1、在SHEET表内设置好按钮,并指定到宏。
2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。
3、在运行过程中出现了问题,下标越界,无法运行。
4、在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到"SHEET1"工作表,所以提示下标越界。
5、点击异常提示下的“调试”按钮,将代码中“SHEET1”改为“图表”后再点按钮,运行宏,代码正常运行,无下表越界提示。
注意事项:
Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。
VB中实时错误9:“下标越界”是什么意思?
意思是:没有给数组分配空间。
造成的原因:引用了不存在的数组元素.
下标可能比下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。
声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:
Dim MyArray() As Integer
MyArray(8) = 234 ' 导致错误 9。
Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。
扩展资料:
VB语言特色:
制作应用程序安装盘等提供了友好的集成开发环境。
1、可视化的设计平台:
在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),在设计过程中看不见界面的实际效果。而在Visual Basic 6.0中,采用面向对象程序设计方法(Object-Oriented Programming),把程序和数据封装起来作为一个对象,每个对象都是可视的。
开发人员在界面设计时,可以直接用Visual Basic 6.0的工具箱在屏幕上"画"出窗口、菜单、命令按键等不同类型的对象,并为每个对象设置属性。开发人员要做的仅仅是对要完成事件过程的对象进行编写代码,因而程序设计的效率可大大提高。
2、事件驱动的编程机制:
面向过程的程序是由一个主程序和若干个子程序及函数组成的。程序运行时总是先从主程序开始,由主程序调用子程序和函数,开发人员在编程时必须事先确定整个程序的执行顺序。
Visual Basic 6.0事件驱动的编程是针对用户触发某个对象的相关事件进行编码,每个事件都可以驱动一段程序的运行。开发人员只要编写响应用户动作的代码。这样的应用程序代码精简,比较容易编写与维护。
3、结构化的程序设计语言:
Visual Basic 6.0具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。
4、强大的数据库功能:
Visual Basic 6.0利用数据控件可以访问Access、FoxPro等多种数据库系统,也可以访问Excel、Lotus等多种电子表格。
参考资料来源:百度百科-下标越界
参考资料来源:百度百科-Visual Basic
各位大侠,广联达打开后显示下标访问越界是怎么回事啊?
我刚出现过这个问题。
正确答案应该是你打开的那个GBQ文件比你现在的GBQ软件的版本要高,所以会出现“下标访问越界”的提示。去网站上下载最新版本的GBQ安装上去就可以了。
关于下标访问越界和下标访问越界是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~