房天下问答 > 业主生活> 其他> 问题详情

vba宏, 下标越界,不知道什么原因,求解释

Sub a()Dim a()For i = 2 To [q65536].End(xlUp).Row If Cells(i, 18) <> "" And Cells(i + 1, 18) = "" Then For j = 0 To UBound(a) If a(j) >= a(j + 1) Then Cel... 展开
疯狂的兔纸 | 2013-08-30 16:00 | 来自北京市

其他答案

czhnig

你数组长度没定义。你唯一一次数组长度定义是在 if 选项中有一次ReDim a(j),可在那之前,你已经用到了 If a(j) >= a(j + 1),也就是判断a(0)>=a(1),可是a()既然没定义大小,就没有a(0)。不知道你表数据怎么组织,程序会怎么执行,但哪怕在第一句里写个Dim a(1)或Dim a(10)也许都有效(反正你迟早要ReDim的)。
2013-08-30 16:23
来自北京市

千影月

你没有给数组a赋数,怎么循环? 且ReDim a(j)就把数组又初始化了,没数据
2013-08-30 16:17
来自北京市

免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关于我们网站合作联系我们招聘信息 房天下家族 网站地图意见反馈手机房天下开放平台服务声明加盟房天下
Copyright © 北京搜房科技发展有限公司
Beijing SouFun Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:jubao@fang.com
返回顶部
意见反馈