总说我下标越界怎么回事VBA 我要选出b列所有和m相等的数据,把他们所在的行号写进数组b(n)

如题所述

我也是新手,一起学习;
(1)ReDim b(1 To n) As Integer '这段你最好加个判断如果N值为0,那个数组的定义是就是错误的,就会出现下标越界
(2)For a1 = 1 To 65536
If Cells(a1, 2).Value = Val(m) Then i = i + 1 and b(i) = a1 ‘这段我测试的结果是 最好要这么写
For a1 = 1 To 65536
If Cells(a1, 2).Value = Val(m) Then
i = i + 1
b(i) = a1
Else
End If
具体应该为什么出现下标越界我也不清楚(如果你测试出来可以分享给我下,谢谢)
(3)建议做个行数的判断每次都最65536次判断太浪费了。追问

谢谢,下标越界自己没了,我也不知道咋回事

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-31
两个语句同行连接用冒号,不是and
if cells(a1,2).value=val(m) then i =i+1: b(i)=al

总说我下标越界怎么回事VBA 我要选出b列所有和m相等的数据,把他们所在...
(1)ReDim b(1 To n) As Integer '这段你最好加个判断如果N值为0,那个数组的定义是就是错误的,就会出现下标越界 (2)For a1 = 1 To 65536 If Cells(a1, 2).Value = Val(m) Then i = i + 1 and b(i) = a1 ‘这段我测试的结果是 最好要这么写 For a1 = 1 ...

总说我下标越界是咋回事,VBA 我是要选出来b列所有的和input box输入的...
你这个字体太可爱了,看得不是很清楚,我发现倒数4行有错,then后面不应该有AND。另外,出错的时候请选择“调试”,然后看黄色的语句是哪个,最好粘贴文本的代码,指出黄色的行。

EXCEL中VBA两个表格数据对比,出现下标越界错误
不写工作簿的话,默认是激活工作簿,而你当前工作簿中并没有result1这个工作表,自然报错。

相似回答
大家正在搜