永发信息网

VBA编程数据分析,怎么总出现下标超出?

答案:2  悬赏:0  手机版
解决时间 2021-03-07 16:25
Sub FPY()

Dim arr()
Dim arr1()
Dim arr2()
Dim arr3()

arr = Range("a2:e19844") '原始表 i
arr1 = Range("m2:m350") '机种表 x
arr2 = Range("n2:n72") '站别表 y
arr3 = Range("s2:v20000") '生成表

Dim FTotal As Integer '投入数量
Dim FPass As Integer '良品数量

For x = 2 To 350 '遍布机种
For y = 2 To 72 '遍布站别
For i = 2 To 19844 '遍布原始表
If arr(i, 1) = arr1(x, 1) Then
If arr(i, 2) = arr2(y, 1) Then
FTotal = FTotal + arr(i, 5)
FPass = FPass + arr(i, 3)
End If
End If
Next i
arr3(y, 1) = arr1(x, 1)
arr3(y, 2) = arr2(y, 1)
arr3(y, 3) = FTotal
arr3(y, 4) = FPass
Next y
Next x

End Sub
最佳答案
循环是从2开始的,实际循环到底,x=351;Y=73;i=19845,所以下标超出。
For x = 2 To 349 '遍布机种
For y = 2 To 71 '遍布站别
For i = 2 To 19843 '遍布原始表
这样就可以了。
全部回答
这个地方的下标越界,有两种可能,一是因为不存在stemplatename名字的工作薄造成workbooks(stemplatename)越界,二是effvar(i)值不合理造成工作表sheets(effvar(i))越界。 遇到越界的时候你选择“调试”,添加对上面这些变量的监视,你就知道具体是什么原因导致了越界,然后才能确定解决方法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
房产限售是什么意思
十字相乘法节下列题xy-2x-3y+64x²+4xy+y
求白夜追凶的31.32集,优酷会员前两天过期了
中少雏鹰争章网公布的基础章中,少先队员在五
尼龙加纤30%做出来的产品收缩要怎么办
中国邮政储蓄银行(孤岛邮电支局)这个地址在什
iphone6 和iphone6 plus紧急呼叫能拨通吗
nba2k16生涯模式 怎么升级属性
用工资卡贷款
美肤王,用久了会伤害皮肤吗,白是白了,亲戚
汽车被别的车划破了一个口,但人跑了,怎么走
d3301动车温州南站停几号站台
甲数的1/5等于乙数的1/8,乙数比甲数多( )%,
江铃汽车235/70r16胎压多少合适
新乡无痛人流的费用一般是多少?
推荐资讯
我大学是学教育专业的,现已毕业两年了,现准
龙什更瓦尔玛这个地址在什么地方,我要处理点
满洲里市口岸旅游外事综合服务大厅地址在什么
tsugami数控机床中文日文对照表
关于真话的名言100字
往绍兴去堵车吗
形容傲视的词语
广东金海同舟药业有限公司地址在哪,我要去那
艾尔之光服务器点了不出来,再点就写服务器正
什么年龄应该被允许使用互联网 what age shou
蓉尚造型我想知道这个在什么地方
人民币反面是什么图案
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?