на одном листе у меня есть строки данных от столбца A до столбца L.
У меня есть макрос, который, учитывая пользовательский ввод, ищет строки, а затем копирует и вставляет эту строку в другой (изначальноЧистый лист.Поиск будет продолжен, каждый раз копируя и вставляя.К сожалению, иногда это требует копирования и вставки 500 строк.Excel начинает работать около 400 строк, очень медленно и часто просто падает.
Я прочитал Медленная запись макроса VBA в ячейках , но я не уверен, применимо ли это.
Будет ли создание коллекции номеров строк, полученной в результате моего поиска, с последующим циклическим просмотром, копированием и вставкой соответствующей строки, быстрее, чем копирование и вставка строки, как только она будет «найдена» (именно так она работает в настоящее время))?
Я бы так не думал.Поэтому мой вопрос заключается в том, могу ли я ускорить процесс vba копирования и вставки большого количества строк?
edit:
nextblankrow=worksheets("findings").Range("A"&rows.count).End(xlup).row+1
Sheets("data").cells(J,1).EntireRow.copy sheets("findings").cells(nextblankrow,1)
, поэтому в приведенном выше коде первая строка находитСледующая пустая строка в листе «Выводы».Затем вторая строка копирует строку в листе «данных», которая, как было найдено, соответствует вводу пользователя в лист «выводов».
После этого она возвращается к поиску, пока не дойдет доконец данных в «листе данных».Но я решил, что копирование вызывает медлительность и сбой.
Большое спасибо.