OK... I'll ask the question.
Why are you stepping thru the cells of a range to assign the values to an array? A range IS an array.
If you dim your array as a variant you don't even have to specify upper and lower bounds. As a bonus, I'll throw in the fact that you can dump arrays straight to a cell and automatically size the output range to fit the array structure.
Dim MyArray As Variant
Sub LoadArray()
MyArray = Range("O62:O181").Value
End Sub
Sub DumpArray()
Range("A1").Resize(UBound(MyArray, 1), UBound(MyArray, 2)).Value = MyArray
End Sub