将 Excel 命名范围读入数组 (VBA)

Reading an Excel Named Range into an Array (VBA)

我想将命名范围 ('NamedRange') 读入数组 ('NamedRangeAsArray')。我已经尝试了很多没有成功的事情,并且我希望找到一种方法来做到这一点,无论命名范围的长度或高度(以及扩展数组的维度)。

我试过:

Dim NamedRangeAsArray As Variant
NamedRangeAsArray = Range("NamedRange").Value

(只将命名区域的第一个单元格读入数组 [1,1]);

另外,

NamedRangeAsArray = Range(Workbook.Names("NamedRange").RefersToRange.Address)

(根本不起作用),

无济于事。有任何想法吗?请分享。谢谢!

更新:

Dim NamedRangeAsArray() As Variant
NamedRangeAsArray() = Range(Workbook.Names("NamedRange").RefersToRange.Address)
For i = LBound(NamedRangeAsArray()) To UBound(NamedRangeAsArray())
    MsgBox NamedRangeAsArray(i, 1)
Next i

(只将指定区域的第一个单元格读入数组 [1,1])

感谢@findwindow 和@Brian 的帮助。

尝试以下操作:

Option Explicit

Sub Compare()

Dim NamedRangeAsArray() As Variant
NamedRangeAsArray = Application.Transpose(Range("NamedRange"))
For i = LBound(NamedRangeAsArray) To UBound(NamedRangeAsArray)
    MsgBox NamedRangeAsArray(i)
Next i

End Sub