Страницы: 1
RSS
Ошибка при циклическом объединении диапазонов ячеек, Ошибка при сшивании диапазонов ячеек с помощью цикла
 
Здравствуйте, уважаемые форумчане. Не удается никак сделать объединение областей ссылок на ячейки с помощью цикла. Вылетает ошибка "1004". Код вот такой:
Код
Set verh = Worksheets("Лист1").Range("C3:O3")
For ii = 5 To 73 Step 2
    Set verh = Union(verh, Worksheets("Лист1").Range(Cells(ii, 3), Cells(ii, 15)))
Next
Помогите, пожалуйста. Как это можно сделать?
Надо было так:
Код
Set verh = Worksheets("Лист1").Range("C3:O3")For ii = 5 To 73 Step 2
    Set verh = Union(verh, Range(ThisWorkbook.Sheets("Лист1").Cells(ii, 3), ThisWorkbook.Sheets("Лист1").Cells(ii, 15)))
Next
Изменено: bikrader - 22.01.2020 14:26:01
 
Потому что запускаете, наверное, не с Лист1?
Код
With Worksheets("Лист1")
Set verh = .Range("C3:O3")
For ii = 5 To 73 Step 2
    Set verh = Union(verh, .Range(.Cells(ii, 3), .Cells(ii, 15)))
Next
end with
Подробнее: Как обратиться к диапазону из VBA
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
У Range точка не обязательна.
 
я это знаю и в статье по ссылке об этом тоже сказано. Но есть случаи, когда обращение к Range без ссылки на родителя выдаст ошибку, даже если внутри этого Range все правильно указано. Например, когда активна книга, открытая в защищенном просмотре, хоть и обращаться мы будем к другой книге.
Поэтому лучше подстраховаться и указывать ссылку.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Большое спасибо за объяснение!
Страницы: 1
Наверх