Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: xdwy81129

ReDim Preserve 二维数组逐渐增加

  [复制链接]
发表于 2011-1-20 22:09 | 显示全部楼层
那你现在是REDIM数组还是说设置成一个很大的数组出来?
如果是设置成一个很大的数组出来的话,那你的行列表示就按照原来的(最早的表示方法来)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-1-20 22:28 | 显示全部楼层
回复 放浪形骸 的帖子

不想设置成很大的数组,只希望一步一步增加扩大

用了你的方法,虽然没有输入来,但我慢慢的看了运行过程
    ReDim Preserve arrbiao(jchazhao, arrisq(j, 1))
    arrbiao(j, arrisq(j, 1)) = arr(i, 1) & i
     arrisq(j, 1) = arrisq(j, 1) + 1
重新定义一行,前面赋值的就会被清空,所以不对

完整过程是:
jchazhao = 127
For i = n To 1 Step -1
    For j = 1 To jchazhao

    If InStr(arr(i, 1), arrchazhao(j, 1)) Then
   
    ReDim Preserve arrbiao(jchazhao, arrisq(j, 1))
    arrbiao(j, arrisq(j, 1)) = arr(i, 1) & i
     arrisq(j, 1) = arrisq(j, 1) + 1

GoTo 123456
    End If
   
    Next j

123456
Next i
回复

使用道具 举报

发表于 2011-1-20 22:40 | 显示全部楼层
一步一步增加又费内存又费时间,吃力不讨好。
回复

使用道具 举报

发表于 2011-1-20 22:43 | 显示全部楼层
xdwy81129 发表于 2011-1-20 22:28
回复 放浪形骸 的帖子

不想设置成很大的数组,只希望一步一步增加扩大

又多了好多不知道的数组啊。

评分

参与人数 1 +1 收起 理由
xdwy81129 + 1 谢谢关注问题,另外一贴,阿木和吕布老师已.

查看全部评分

回复

使用道具 举报

发表于 2011-1-21 08:12 | 显示全部楼层
1. Redim只能改变最后一维
2. Redim是比较花时间的,但应该比把一个数组重新拷贝到另一个新数据组要省很多
3. 要想看到别人对你的问题的解决方法,不如把你的要求写清楚,然后看其它人怎么实现的,而不必一味的纠缠于Redim

点评

其实就是后面另外的一个帖子《请求完善代码,让数组一次i循环得出结果 》,选择了吕布老师的最佳,谢谢  发表于 2011-1-21 20:24
回复

使用道具 举报

 楼主| 发表于 2011-1-21 20:27 | 显示全部楼层
本问题没有最佳了,谢谢大家支持
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 04:12 , Processed in 0.288215 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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