Sub a() Dim arr() arr = [A2:B5] StopEnd Sub
这里不成功我想应与[A2:B5]这种快速引用方式有关,也就是说,用这种方式时,转换成动态数组时,并没有象Range一样自动使用Value属性转换。但这种方式与普通方式不同(这种不同不只表现为速度上的不同)是确定的。写代码时用这种方式不会自动列出成员,但用Range("A2:B5")时写完点时会自动列出成员。这也许是不自动使用Value属性的原因,因为这样写的代码运行时编译器不知道有这个属性。
使用道具 举报
辛苦了,吕布,,,[em27]
麻烦吕布了!
Variant(1 to 4, 1 to 2)Variant/Variant(1 to 4, 1 to 2)
它俩,应分别称作什么数据类型啊?
PS:还是很不明白[em04]
Variant(1 to 4, 1 to 2)
是二维数组(可能是静态的,也可能是动态的),其元素类型是Variant,其一种定义方式是:
dim arr(1 to 4,1 to 2) as Variant,这里arr便是这种类型
Variant/Variant(1 to 4, 1 to 2)是Variant类型(斜杠前面的),但是,这个Variant变量实际是一个二维数组Variant(1 to 4, 1 to 2),Variant(1 to 4, 1 to 2)我解释与前面的一样
爱疯是否在问存储data后是什么数据类型??
吕布,如果猜测对的话,应该和实际存储的数据类型有关,对么?哈哈
一个是数组,数组储存是动态的
一个是Variant类型,也是动态的,与实际类型有关系的。内存分配是不是连续我不清楚。但是好象是有2个byte储存实际类型,有8个byte储存与具体数据有关的东西,对于数组,这8个byte里储存的是一个指针。
谢谢了!
为什么吕布说,也可能是动态的?dim arr(1 to 4,1 to 2) as Variant不就是静态的吗?
和气生财的回复,我不大理解[em04]
肯定都是动态的啦。WINDOWS的内存管理就是这样的,页面和内存是不断交换的,所以会经常听到硬盘声
[em04]
数组储存是连续的,这里的连续指的是虚拟地址(我们常说的内存地址都是虚拟地址,&h0000000-&hffffffff)
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-5-1 03:42 , Processed in 0.372475 second(s), 6 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.