Excel VBA中Range的数组

Kev*_*oyd 7 excel vba office-2007 excel-vba

好吧,我一直在努力处理一小段代码,似乎无法绕过它......我正试图从一系列单元格中获取一个数组,但阵列显示为1个元素宽.
那么这里是代码:

Dim item As Variant
MsgBox Range("D19:H19").Count    
item = Range("D19:H19").Value
MsgBox LBound(item) & " " & UBound(item)   
Run Code Online (Sandbox Code Playgroud)

根据我的理解项目应该包含一个2D数组...但是我得到以下结果第一个MsgBox打印5第二个MsgBox打印1 1

出了什么问题?

imf*_*isd 11

问题出在LBound和UBound上

关于LBound和UBound,jtolle是正确的.

LBound(item, 2)

UBound(item, 2)
Run Code Online (Sandbox Code Playgroud)

但是,项目不能变暗为数组(您将收到错误).

我想这就是你想要的

Dim item As Variant
MsgBox Range("D19:H19").Count
item = Range("D19:H19").Value

MsgBox LBound(item, 2) & " " & UBound(item, 2)

For i = LBound(item, 2) To UBound(item, 2)
  MsgBox item(1, i)
Next
Run Code Online (Sandbox Code Playgroud)