В примере я увидел array() = range().value
, и я пытаюсь понять, как это работает.Array() = range(). Значение
Sub test()
Dim arr() As Variant
arr() = Range("E5:E7").Value
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
Во-первых, выше код дает мне subscript out of range
ошибку. Как так ? Во-вторых, какая часть документации сообщит мне, как бы играла array() = range().value
без ее тестирования? Моя гипотеза заключается в том, что она будет проходить через ячейки слева вверху вправо и добавлять их в массив. Как я могу это подтвердить?
Выбрано это как ответ из-за информационной ссылки на эту тему. Всем спасибо. – newdimension
Почему я получаю «несоответствие типов», если я изменяю диапазон до «Range (« E5 »)'? – newdimension
Если диапазон является одной ячейкой, он возвращает одно значение вместо диапазона. Только диапазоны, содержащие несколько ячеек, возвращают массив. Вы можете определить это, используя «If Range» («E5»). Cells.CountLarge = 1' и программа соответственно. – user1274820