M
Microsoft Forum
Hi all,
I know the following code will work fine for me:
Function ArrayFromRange(Rng As Range) As Variant
ArrayFromRange = Rng
End Function
But I just want to know why the following alternative doesn't work,
especially why the REDIM statement is invalid here:
Function ArrayFromRange(Rng As Range) As Variant
Dim i As Long, j As Long
ReDim ArrayFromRange(Rng.Rows.count, Rng.Columns.count)
For i = 1 To Rng.Rows.count
For j = 1 To Rng.Columns.count
ArrayFromRange(i, j) = Rng(i, j)
Next
Next
End Function
By the way, if I wish a function to return an array, is declaring the
function as type "variant' the only way?
Thanks for your advice.
Frederick Chow
Hong Kong.
I know the following code will work fine for me:
Function ArrayFromRange(Rng As Range) As Variant
ArrayFromRange = Rng
End Function
But I just want to know why the following alternative doesn't work,
especially why the REDIM statement is invalid here:
Function ArrayFromRange(Rng As Range) As Variant
Dim i As Long, j As Long
ReDim ArrayFromRange(Rng.Rows.count, Rng.Columns.count)
For i = 1 To Rng.Rows.count
For j = 1 To Rng.Columns.count
ArrayFromRange(i, j) = Rng(i, j)
Next
Next
End Function
By the way, if I wish a function to return an array, is declaring the
function as type "variant' the only way?
Thanks for your advice.
Frederick Chow
Hong Kong.