Excel精英培训网

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

[已解决]怎样获取一维数组下标

[复制链接]
发表于 2014-5-28 22:49 | 显示全部楼层 |阅读模式
本帖最后由 969341591 于 2014-5-28 23:21 编辑

怎样求出一维数组下标的下界和上界?用lbound和ubound来测不对,有点发糊了.
sub  aa()
         arr=range("a2:f2")
      ??????
end sub
2014-05-28_224417.jpg
最佳答案
2014-5-28 22:58
arr=range("a2:f2")
凡是通过这种方式,获得的动态数组arr,均为二维数组,不可能是一维数组。
而且,其下标均为1,即LBound(arr,1) LBound(arr,2)均等于1,
而上届分别为:Ubound(arr,1) , Ubound(arr,2),
其中Ubound(arr,1)可以简写为Ubound(arr),  
你的这个a2:F2,证明只有一行,6列,
所以Ubound(arr,1) = 1 , Ubound(arr, 2 ) = 6
发表于 2014-5-28 22:55 | 显示全部楼层
ubound(arr,2)
将单元格区域赋值给变量,如果区域大于1个单元格,就会让变量形成一个二维数组(哪怕是一行也是二维的)
回复

使用道具 举报

发表于 2014-5-28 22:55 | 显示全部楼层
回复

使用道具 举报

发表于 2014-5-28 22:56 | 显示全部楼层
       MsgBox UBound(arr, 2) & "-" & LBound(arr, 2)
回复

使用道具 举报

 楼主| 发表于 2014-5-28 22:56 | 显示全部楼层
xdragon 发表于 2014-5-28 22:55
ubound(arr,2)

ubound(arr,2)这不是测的第二维下标的上界吗?但我这是一维数组啊
回复

使用道具 举报

发表于 2014-5-28 22:57 | 显示全部楼层
969341591 发表于 2014-5-28 22:56
ubound(arr,2)这不是测的第二维下标的上界吗?但我这是一维数组啊

单元格一行或一列,都是二维数组
回复

使用道具 举报

发表于 2014-5-28 22:58 | 显示全部楼层    本楼为最佳答案   
arr=range("a2:f2")
凡是通过这种方式,获得的动态数组arr,均为二维数组,不可能是一维数组。
而且,其下标均为1,即LBound(arr,1) LBound(arr,2)均等于1,
而上届分别为:Ubound(arr,1) , Ubound(arr,2),
其中Ubound(arr,1)可以简写为Ubound(arr),  
你的这个a2:F2,证明只有一行,6列,
所以Ubound(arr,1) = 1 , Ubound(arr, 2 ) = 6
回复

使用道具 举报

 楼主| 发表于 2014-5-28 23:10 | 显示全部楼层
FF7 发表于 2014-5-28 22:58
arr=range("a2:f2")
凡是通过这种方式,获得的动态数组arr,均为二维数组,不可能是一维数组。
而且,其下 ...

请问在单元格中有一维数组吗?
回复

使用道具 举报

 楼主| 发表于 2014-5-28 23:10 | 显示全部楼层
as0810114 发表于 2014-5-28 22:57
单元格一行或一列,都是二维数组

请问在单元格中有一维数组吗?
回复

使用道具 举报

 楼主| 发表于 2014-5-28 23:11 | 显示全部楼层
xdragon 发表于 2014-5-28 22:55
ubound(arr,2)
将单元格区域赋值给变量,如果区域大于1个单元格,就会让变量形成一个二维数组(哪怕是一行 ...

请问在单元格中有一维数组吗?蓝色幻想的视频中把水平看成是一维数组
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 13:42 , Processed in 0.308209 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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