Есть ли какая-то особая причина, по которой вы хотите сохранить какое-либо значение ячейки в новой переменной?С заданным диапазоном было бы очень просто сохранить ваши значения в массиве Variant.В вашем примере это будет что-то вроде:
Public Sub try()
Dim rng As Range
Dim dataArray as Variant
Set rng = Range("numbers")
dataArray = rng
debug.print dataArray(1, 2) 'This would print 7 in your example range
end sub
Затем вы можете легко перебрать свой Variant Array следующим образом:
Dim i as Long, j as Long
For i = 1 To UBound(dataArray, 1) 'This will loop through each row
For j = 1 To UBound(dataArray, 2) 'This will loop through each column (cell in your row)
Debug.Print dataArray(i, j)
Next
Next
UBound()
возвращает длину массива вданное измерение в качестве второго параметра.Я просто снова печатаю значения, так как не знаю, что именно вы хотите.