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

我想读命名的范围('NamedRange')到一个数组('NamedRangeAsArray')。 我已经尝试了一些没有成功的东西,并希望find一种方法来做到这一点,无论指定范围的长度或高度(以及扩展,然后,数组的维度)。

我努力了:

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