Dim myrange
myrange = Worksheets(1).Range("A1")
Выше myrange
объявлено как вариант, а не диапазон.Когда вы назначаете его Worksheets(1).Range("A1")
, вы назначаете значение ячейки, а не устанавливаете объект диапазона.Это исправляется следующим образом.
Dim myrange as range
SET myrange = Worksheets(1).Range("A1")
Вы можете смещать объекты диапазона, но не значения диапазона.Если myrange
равно Set
, должно работать следующее:
Set myrange = myrange.Offset(1, 0)
myrange
теперь установлено на Worksheets(1).Range("A2")
.Это может быть перепроверено с,
Debug.Print myrange.Address(0, 0, external:=true)