我将尝试将多重范围选择转换为一个范围数组。
目前,我正在尝试以下操作:
目前,我正在尝试以下操作:
Private Function SplitRange(ByRef r As Range) As Range()
Dim i As Long
Dim RangesArray() As Range
Dim AddressArray() As String
Dim Address As Variant
i = 0
AddressArray = Split(r.Address, ",")
ReDim RangesArray(UBound(AddressArray))
For Each Address In AddressArray
Set RangesArray(i) = Range(Address)
i = i + 1
Next Address
' It works till this point, executing RangesArray(0).Address returns a range address
SplitRange = RangesArray
' Here for some reason neither SplitRange(0).Address or RangesArray(0).Address work
End Function
如何将“复合”范围转换为范围数组?
RangesArray(0).Address
应该可以正常工作(对我来说是这样的)。SplitRange(0).Address
不起作用,因为它再次调用函数并将0
作为Range
传递。 - Rory