Определение границы диапазона.

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Доброго времени суток! Простой вроде бы вопрос, но из-за неопытности не могу сходу решить. Есть неравномерно заполненный данными диапазон (например, в столбце "А", начиная с 5 строки). Нужно с конца (т.к. внутри диапазона есть пустые ячейки) найти первую непустую ячейку (например "А205") и в дальнейшем к другим диапазонам обращаться в этих границах ("G5:G205"; "F5:F205" и т.п.)
Найти нижнюю границу диапазона и присвоить переменной номер найденной строки я умею. А дальше как?
Dim_ok
Сообщения: 51
Зарегистрирован: 03 июл 2007, 09:17

Dim a As Range
Dim b As Range
Set a = Range("A5", Cells(Range("A65536").End(xlUp).Row, 1).Address)
Set b = a.Offset(, i)
где i от 1 после "А" до последнего столбца, нужного Вам (циклом задать можно от единицы)
соответственно будет "$B$5:$B$205" и т.д.
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Спасибо, идея понятна! Но есть проблема: диапазоны к которым надо обращаться, находятся на другом листе. Как быть в этом случае?
Dim_ok
Сообщения: 51
Зарегистрирован: 03 июл 2007, 09:17

With Sheets("Ваш лист")
.Range(b.Address).Copy
End With
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Спасибо, большое! По последнему вопросу, правда я и сам догадался как сделать, но не без Вашей помощи.
Ответить