Вот один из способов:
Sub Dave()
Dim tRange As Range, wb As Workbook, cell As Range
Dim i As Long
Set wb = ThisWorkbook
Set tRange = wb.Sheets("wbname").Range("A1:A5")
ReDim arr(1 To tRange.Count)
i = 1
For Each cell In tRange
arr(i) = cell.Value
i = i + 1
Next cell
End Sub
Примечание:
Эта техника не зависит от «формы» диапазона. Это сработает, если диапазон представляет собой часть столбца, или часть строки, или прямоугольник ячеек, или даже непересекающийся набор ячеек.