Sas, если это должно быть сделано в VBA, это бы сработало (проверено):
Sub Arrays()
Dim ws As Worksheet
Dim MyRange As Range
Dim x As Integer
Dim arr_MyArray() As Integer
Set ws = Worksheets("Sheet1")
Set MyRange = ws.Range("A1", ws.Range("A10"))
ReDim arr_MyArray(1 To MyRange.Cells.Count)
For x = 1 To UBound(arr_MyArray)
arr_MyArray(x) = Application.WorksheetFunction.Rank(x, MyRange, 1)
Next
End Sub
Заходите, посмотрите ExcelVBADude на канале YouTube!