- Поиск последней пустой строки на листе Excel.
Можно осуществить несколькими способами. Пример №1:
lastRow = Cells(Rows.Count, c).End(xlUp).Row
Где с - номер столбца в котором осуществляется поиск.
Пример 2:
Sub tst()
Dim r As Long, startRow As Long, endRow As Long
startRow = 1
endRow = 65536
For r = startRow To endRow
If Cells(r, c).Value = "" Then Exit For
Next r
End Sub
Где startRow - начало поиска, endRow - конечная строка поиска, с - номер колонки поиска. После цикла For перемнная r будет номер строки первой пустой ячейки в колонке с.
- Ускорение работы макроса.
Когда мы работаем с книгой(ами) с польшим количеством данных и прописанных формул есть смысл на время выполнения нашего кода отключить автоподсчет.
Sub tst()
Application.Calculation = xlCalculationManual 'Выключаем автоподсчет
'Выполняем наш макрос
Application.Calculation = xlCalculationAutomatic 'Включаем автоподсчет
End Sub
Стоит отметить ВАЖНЫЙ момент - если у Вас в коде есть точки выхода "Exit Sub" по условию, то перед выходом нужно автоподсчет включить "Application.Calculation = xlCalculationAutomatic". Так же стоит сделать если вы делаете обработчик ошибок.
Также для ускорения можно воспользоваться следующими свойствами:
'=== Отключение обновления окна ===
Application.ScreenUpdating = False
'=== Отключение ошибок ===
Application.DisplayAlerts = False
'=== Отключение обновлений связи ===
Application.AskToUpdateLinks = False