Excel精英培训网

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

[分享] 数组arr(1,2,3)和 arr(1 To 3)一样吗?

[复制链接]
 楼主| 发表于 2008-6-26 07:04 | 显示全部楼层 |阅读模式

'改变数组的大小和维数
Sub arr1()
    Dim arr()
    Dim i As Long
   
    ReDim arr(1 To 3)
    For i = 1 To 3
        arr(i) = i
    Next

    Sheet1.Range("rng1").Resize(1, 3) = arr
   
    Stop

我是一个初学者,昨晚喵喵老师讲完后,有个小疑问,这里的重新定义数组大小,用 ReDim arr(1,2,3)为什么不可以代替ReDim arr(1 To 3),请老师们讲解一下,谢谢!!要是可以的话,怎么样写才正确!

[此贴子已经被作者于2008-6-26 8:06:37编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2008-6-26 09:24 | 显示全部楼层

VBA里面的数组有一个维数的概念……

譬如Arr(1,2,3)是一个三维的数组,用N个逗号分隔,就表示这个数组的维数为N+1维的。

而ARR(1 to 3)表示一个一维的数组,他的数组下标是从1到3.

excelVBA定义数组时,如果不使用1to3类似这样的语句来表示数组下标的话,他默认是从0开始,如前面的ARR(1,2,3)其实等效于Arr(0 to 1,0 to 2,0 to 3)

以上是我的一点认识,希望对你有用……

回复

使用道具 举报

 楼主| 发表于 2008-6-26 09:26 | 显示全部楼层

感谢cjch1969朋友在QQ中对我的帮助,cjch1969朋友解释如下:

arr(1,2,3)相当于arr(0 to 1,0 to 2,0 to 3),只是当数组某维下届为0时,可以省略0 to,而直接标明上届,也就是arr(1,2,3)这个样子了

一维数组相当于线段

2维数组相当于矩形

3维数组相当于立方体

我现在把cjch1969朋友的回答贴到贴子上,让和我一样不明白的人,也明白一下吧!!

再次感谢cjch1969朋友!!

回复

使用道具 举报

 楼主| 发表于 2008-6-26 15:16 | 显示全部楼层

suye1010 讲师,你好,你说得非常详细,我理解了,谢谢你对我提问贴的回复!
回复

使用道具 举报

发表于 2008-6-26 15:32 | 显示全部楼层

楼主太客气了,共同学习,共同交流

回复

使用道具 举报

发表于 2008-6-26 15:33 | 显示全部楼层

楼主太客气了,共同学习,共同交流

回复

使用道具 举报

发表于 2008-6-26 15:40 | 显示全部楼层

学习一下。
回复

使用道具 举报

发表于 2008-6-26 16:07 | 显示全部楼层

回复

使用道具 举报

发表于 2008-6-26 16:12 | 显示全部楼层

不一样,三维和一维,6个数和3个数

回复

使用道具 举报

发表于 2008-6-26 17:43 | 显示全部楼层

学习了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 19:32 , Processed in 0.347387 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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