Это мой первый совет дня, и с его помощью я попытаюсь ответить на один общий вопрос, используя VBA в Excel. Это
Как найти последнюю использованную строку на конкретном листе?
Для этого существует несколько методов, некоторые из которых более точны, чем другие, но все они могут удовлетворить ваши потребности.
Один общий метод
LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
Это не очень точно, потому что Excel не отслеживает последнюю ячейку в очень адекватной форме.
Другой способ найти последнюю использованную строку в определенном столбце:
LastRowColA = Range("A65536").End(xlUp).Row
Но это не говорит вам НАСТОЯТЕЛЬНО последнюю использованную строку на всем листе, если вы не можете быть уверены, что столбец A содержит данные.
Несколько дополнительных методов более надежны.
LastRow = Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
или
LastRow = ActiveSheet.UsedRange.Rows.Count
Эти методы можно использовать на любом листе, а не только на активном листе.