【发布时间】:2010-12-05 16:08:02
【问题描述】:
好吧,我一直在为一点点代码苦苦挣扎,似乎无法绕过它......
我正在尝试从一系列单元格中获取一个数组,但是该数组显示为 1 个元素宽。
好吧,代码如下:
Dim item As Variant
MsgBox Range("D19:H19").Count
item = Range("D19:H19").Value
MsgBox LBound(item) & " " & UBound(item)
根据我的理解项目应该包含一个二维数组......但是我得到以下结果 第一个 MsgBox 打印 5 第二个 MsgBox 打印 1 1
怎么了?
【问题讨论】:
-
我不是 vba 专家,但取一个范围(或数组)的值似乎很奇怪。它是否返回范围的第一个值?
-
通常 VBA 会返回一个二维数组,其中行值为第 1 维,列值为第 2 维,但是在这里我正在寻找一个在一行中包含 5 个单元格的范围,所以我不太确定是返回一维数组还是二维数组...
-
@dave:是的,它只返回范围的第一个值......有什么想法为什么会这样做吗?!
-
它实际上并不返回范围的第一个值。选择一个 2D 范围的单元格,然后按几次
Tab。您将看到一个选定的单元格突出显示。那就是单元格Value返回的内容。
标签: vba excel office-2007