将 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
我想将命名范围 ('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