У меня есть рабочая таблица планирования пропускной способности для воздушных маршрутов, которая включает количество мест в пункте назначения за данный период времени. Может быть более одного периода времени, потому что в расписании есть пробелы или количество мест меняется. Это создаст два «диапазона», для которых должны быть выполнены новые рейсы.

На рисунке показана небольшая часть листа Excel. Красный показывает первый диапазон с 15 апреля по 22 апреля, а синий - второй диапазон с 6 мая по 13 мая.
Я могу найти первый диапазон, найдя первую и последнюю заполненную ячейку в ряду. Я делаю это с помощью .End(xlToRight)
и .End(xlToLeft)
.
Затем я использую найденную координату, чтобы присвоить переменной значение в ячейке (4, y)
. Примерно так:
lCol = Cells(ActiveCell.Row, 5).End(xlToRight).Column
fCol = Cells(ActiveCell.Row, 58).End(xlToLeft).Column
EffDate = Cells(4, fCol)
DiscDate = Cells(4, lCol)
Макрос циклически проходит по рабочему листу и добавляет полет по строке на другой рабочий лист. В идеале я хочу создать сценарий If-Else, чтобы проверить, есть ли несколько «периодов» подряд. Я не хочу соединять два диапазона вместе.