Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3853|回复: 2

[已解决]vba中数组显示下标越界的原因

[复制链接]
发表于 2012-5-6 00:55 | 显示全部楼层 |阅读模式
Sub yy()
Dim arr, arr1()
Dim x, k
arr = Range("d8:j9")
For x = 1 To 3
If arr(x, 1) = "chen" Then
k = k + 1
ReDim Preserve arr1(1 To 7, 1 To k)
arr1(1, k) = arr(x, 1)
arr1(2, k) = arr(x, 2)
arr1(3, k) = arr(x, 3)
arr1(4, k) = arr(x, 4)
arr1(5, k) = arr(x, 5)
arr1(6, k) = arr(x, 6)
arr1(7, k) = arr(x, 7)
Range("d20,j21") = Application.Transpose(arr1)
End If
Next x
End Sub
我用f8运行 发现循环到第三次在k = k + 1处出现下标越界 求解答

最佳答案
2012-5-6 01:00
arr中只有两行数据,你循环到3当然出错了
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-5-6 01:00 | 显示全部楼层    本楼为最佳答案   
arr中只有两行数据,你循环到3当然出错了
回复

使用道具 举报

 楼主| 发表于 2012-5-6 01:22 | 显示全部楼层
兰色幻想 发表于 2012-5-6 01:00
arr中只有两行数据,你循环到3当然出错了

不好意思 原谅一下 新手 老是犯低级的错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-18 15:18 , Processed in 0.790559 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表