Excel精英培训网

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

[已解决]redim preserve 能随时扩展二维数组吗?

[复制链接]
发表于 2012-3-31 14:47 | 显示全部楼层 |阅读模式
我想要一个可以随时扩大其行数的二维数组,其列数不变,如arr(1 to n,1 to 4),我只想随时扩大行,即n是变量。用redim preserve行吗?我试了下:redim preserve arr(1 to n,1 to 4)不行。该怎么办?
最佳答案
2012-3-31 14:49
先设置ARR(1 TO 4,1 TO N)
再REDIM PRESERVE
最后把数组TRANSPOSE
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-31 14:49 | 显示全部楼层    本楼为最佳答案   
先设置ARR(1 TO 4,1 TO N)
再REDIM PRESERVE
最后把数组TRANSPOSE
回复

使用道具 举报

发表于 2012-4-10 16:53 | 显示全部楼层
liuguansky 发表于 2012-3-31 14:49
先设置ARR(1 TO 4,1 TO N)
再REDIM PRESERVE
最后把数组TRANSPOSE

为什么非要先arr(1 to 4,1 to N)再transpose,那样多麻烦,还是说规则就是这样?

点评

看下PRESERVE的帮助。  发表于 2012-4-10 18:41
回复

使用道具 举报

发表于 2012-4-11 10:50 | 显示全部楼层
回复

使用道具 举报

发表于 2017-1-15 22:19 | 显示全部楼层
liuguansky 发表于 2012-3-31 14:49
先设置ARR(1 TO 4,1 TO N)
再REDIM PRESERVE
最后把数组TRANSPOSE

能给个例子怎么写吗, 看得不是很明白, 多谢
回复

使用道具 举报

发表于 2019-8-23 15:19 | 显示全部楼层
因为这个只能扩展最后一个维度的大小 谢谢了 学了一下 转置
回复

使用道具 举报

发表于 2019-8-24 18:24 | 显示全部楼层
本帖最后由 ligh1298 于 2019-8-24 18:26 编辑

多维数组,只有最后一维是可以用变量动态增加的。
dim arr()
redim preserve arr(1 to 5,1 to n)
最后再转置。

回复

使用道具 举报

发表于 2019-8-28 16:51 | 显示全部楼层
7楼说的是正确的。提示一下。这个redim preserve arr(1 to 5,1 to n)可以放在循环中,随着n不断变大,反复执行这一句。比如说,n=1时,执行一遍;n=2时,执行一遍…………当然,也可以只让n取一次值。
回复

使用道具 举报

发表于 2019-8-29 20:51 | 显示全部楼层
是的,redim preserve 只能增加二维的列向,一般的做法加列向再转置。 如果需要增加行,简单的是直接将行放大就可以了。比如 arr(1 to 1000)
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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