Excel VBA 运行时错误9,下标越界

我在用程序给数组赋值时,出现“运行时错误9,下标越界”,请看下问题在哪里,谢谢!
Sub a()
Dim i As Integer
Dim sort() As String
i = 1
Sheets("sheet1").Range("A2").Select
sort(i) = ActiveCell.Offset(1, 0).Value
End Sub

第1个回答  2015-02-12
sheet1看看是否此名称的工作表不错在!或者大小写应该是Sheet1追问

应该不是这个问题,Sheet1是有的,大小写改完后问题仍在。

追答

Dim sort() As String 你这样定义sort()就是一个数组

使用前需要redim确认一下数组的维度及大小

追问

请问,如果数组的大小是变量,该怎么先确定它的大小?不可以通过变量来给数组赋值吗?谢谢。

追答

Sub test()
Dim arr()
ReDim arr(1 To 10, 1 To 1)
For i = 1 To 10
arr(i) = i
Next
MsgBox arr(10)
End Sub
有些基础的东西还是要知道的,不然怎么写代码呢?

本回答被提问者和网友采纳

Excel VBA下标越界的原因分析与解决方法
引用了不存在的集合成员。 试着使用 For Each...Next 结构代替指定元素下标。   使用速写形式的下标,结果指定了错误的元素。下标越界不存在对应的工作薄、工作表名称是否写正确。当再次遇到VBA报下标越界错误时,就不会惊慌了,至少大概知道其原因了。我们再参照上面的思路去修改代码...

为什么在excel中用vba时会出现下标越界的提示?
简单的理解:下标越界就是引用超出了所在的范围。当我们在excel的VBA中输入下面代码,运行,就会出现“运行时错误9下标越界”的提示。代码如下:Sub a()Dim arr() As String arr(1) = "你好"End Sub 其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸...

电子表格中下标越界错误9,怎么解决?
一、明确答案 出现电子表格下标越界错误9,通常是因为试图访问数组或集合的某个元素,但该元素的索引超出了其允许的范围。解决这个问题的方法主要包括检查代码中的数组索引、确保循环变量的范围以及验证数据输入的有效性。二、详细解释 1. 分析错误原因 电子表格中的下标越界错误通常是由于编程时尝试访问一个...

VB中实时错误9:“下标越界”是什么意思?
在VB编程中,遇到错误9“下标越界”的情况,它意味着你试图访问一个数组时,尝试的下标超出了数组分配的空间范围。这种情况可能由于以下几个原因导致:一是数组声明时没有明确指定元素数量,如尝试访问未定义的MyArray(8),这会导致数组默认范围外的索引错误;二是下标值超过了数组的实际边界,比如数组长度...

EXCEL运行时错误9下标越界怎么解决啊?
运行时错误9下标越界是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸的,或用Redim界定一下维数和尺寸即可解决此问题。Excel提示下标越界是VBA程序运行的一个错误提示,原因有以下几个:1、引用了不存在的数组元素:下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。2...

VBA代码中为何会出现下标越界错误,如何解决?
当我们在VBA编程中遇到那个令人懊恼的错误代码9——下标越界时,可能是在数据操作中不小心越界了。首先,让我们从创建一个按钮开始,它将触发一个宏,这个宏的宿主工作表被命名为“图表”。在VBA编辑器的舞台上,我们准备了一段关键的代码,它的初衷是优雅地隐藏那些空白区域所在的整列,仿佛在数据海洋...

VB中实时错误9:“下标越界”是什么意思?
如果索引指定为变量,应检查变量名的拼写。声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:Dim MyArray() As Integer MyArray(8) = 234 ' 导致错误 9。Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。

VBA运行时错误9,下标越界
1、首先在SHEET表内设置好按钮,并指定到宏,(宏所在SHEET的名称为“图表”)。2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。3、在运行过程中出现了问题,下标越界,无法运行。4、查看问题原因为,在代码中的“SHEET1”工作表根本没有,...

Excel 表格无法拆分行,报错9下标越界
在 Excel 中,如果出现无法拆分行的问题,报错“9 下标越界”一般是因为在拆分行时指定的行数超过了表格的行数。解决这个问题,可以按照以下步骤进行:首先,打开表格,并选中要进行拆分的行。在主菜单栏中选择“数据”选项卡,在“数据工具”组下找到“文本拆分”选项,点击打开“文本拆分向导”对话框。

WPSVBA运行时错误9怎么办
WPSVBA运行时错误9怎么办:1、VBA出现错误9的时候,首先点击调试,查看问题。3、根据验证得到解决方法:将t=0更改为t=1,由于arr数组的dimmension从1开始(ReDimarr(1ToUBound(aryValues))):t=1Fori=LBound(aryValues)+1ToUBound(aryValues)ForEachvIndict.KeysIfv=aryMembers(i)Andc=0Thenarr...

相似回答