excel VBA 下标越界(错误 9)

如下图,点击清空窗口按钮,提示小标越界,点击调试跳转到第三张图片的样子,代码是:
Private Sub ComboBox1_Change()
Dim n As String, c, d1
Set d1 = CreateObject("Scripting.Dictionary")
n = ComboBox1.Text
c = d(n)
For i = 2 To UBound(Arr)
d1(Arr(i, c)) = ""
Next
ComboBox2.Text = ""
ComboBox2.List = d1.keys
End Sub

清空窗口按钮的代码是:
Private Sub CommandButton2_Click()
'清空窗口内容
On Error Resume Next
Dim i As Integer
For j = 1 To 3
Controls("TextBox" & j).Text = ""
Controls("ComboBox" & j).Text = ""
Next
End Sub

哪位大神帮我看看问题出在哪儿

第1个回答  2015-02-26
需要把arr定义为全局变量,因为你这个过程中arr变量没有定义追问

可以说下具体代码怎么写吗,谢谢

追答

public arr

第2个回答  2015-02-26
arr从哪儿跑出来的追问

追答

没有给ARR赋值,或者您要重新定义一下 REDIM ARR(1 to n, 1 to m)
其中n,m分别表示一维,二维的上限。。。

追问

能不能直接说一下代码怎么改吗,或者加到哪里,谢谢

第3个回答  2015-02-26
你先看一下Ubound(Arr)是多少,肯定是空的。

Excel VBA下标越界的原因分析与解决方法
下标越界错误大概有以下的原因和解决方法:引用了不存在的数组元素。下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。声明...

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

vba在excel中的应用中,下标越界怎么回事
下标越界错误大概有以下的原因和解决方法:1.引用了不存在的数组元素。2.下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

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

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

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

EXCEL VBA 运行时错误9 下标越界
下标越界一般是Workbooks("电气元器件库.xlsm")或者Sheets("sheet1")造成的,如果没有对应的工作簿“电气元器件库.xlsm”、或者这个工作簿里面没有工作表“sheet1”就会导致此类错误。注意:程序不会自动打开工作簿进行公式计算。请检查工作簿名称。

excel下标越界问题 运行时错误9 下标越界
你是做学籍管理的吧,如果是的话,请看下图你就明白了。如果没有“错误信息”和“重复”这两个表就新建一下就OK了。

excel VBA总是提示错误9 下标越界
你这段代码写得不简洁,是录制宏改的吧。Workbooks.Open (ThisWorkbook.Path & "\/"& I & ".xls")这句应该有问题,“\/”反向了。但不应该是“下标越界 ”的问题,具体哪句出现的问题呢?Sheets("W").Select——这句如果循环打开的某个文件没有工作表“W”,会出现下标越界 ...

vba 运行时错误9 下标越界
“错误9 下标越界”错误发生在代码行“note = Worksheets("feuil1").Range(Cells(g, i), Cells(g, i)).Value”,这里的引用“Worksheets("feuil1")”是最易发生错误的,引用的表名“feuil1”必须是“name”属性值而不是“名称”属性值,也就是应该是编辑器的对象浏览器里“Microsoft Excel”...

相似回答