powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обработка несплошного диапазона
3 сообщений из 3, страница 1 из 1
Обработка несплошного диапазона
    #34806723
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем. Работаю с несплошным диапазоном, состоящим из множества прямоугольных областей. Работа состоит в обработке чисел, находящихся в этом диапазоне. Движение по диапазону происходит в цикле
Код: plaintext
1.
2.
3.
4.
5.
For x_value =  1  To Range(range_name).Rows.Count
    For y_value =  1  To Range(range_name).Columns.Count
        Range(range_name).Cells(x_value, y_value).Value = Something
    Next y_value
Next x_value

Пополнение диапазона делал следующим образом(из акцесс):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set temp_range = full_range
full_range.name.Delete
temp_range.name = "temp"
Set full_range = xl.Union(temp_range, xlws.range(xlws.cells(i +  4 , j +  3 ), xlws.cells(i +  4  + d, j + per_num +  3 )))
full_range.name = "FULL"
temp_range.name.Delete


Вопрос. Диапазон в некоторых случаях обрабатывается целиком, а в некоторых случаях обрабатывается лишь первая область. От чего это зависит?
...
Рейтинг: 0 / 0
Обработка несплошного диапазона
    #34806740
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Всегда правильнее использовать коллекцию ячеек в диапазоне

Код: plaintext
1.
2.
3.
Dim iCel as range
For Each iCel in Range(range_name)
     iCel.Value = Something
Next iCel

2) Тут как то тоже заморочено, зачем вы присваиваете имена, если потом нигде ими не пользуетесь? И вроеменную переменную необязательно, можно просто

Код: plaintext
Set full_range = xl.Union(full_range, xlws.range(xlws.cells(i +  4 , j +  3 ), xlws.cells(i +  4  + d, j + per_num +  3 )))
...
Рейтинг: 0 / 0
Обработка несплошного диапазона
    #34806753
Ильгиз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за коллекцию - то что надо.
А что касается UNION, то оно по идее да - так должно быть. Только у меня диапазон расширяться упорно не желал, поэтому я удалял его и создавал снова уже расширенным.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обработка несплошного диапазона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]