Добрый день.
Есть таблица, которая содержит более 40000 строк. Надо полностью скопировать на новый лист только те строки, у которых текст в ячейках в колонке ISBN начинается с кодов 978-5-04-, 978-5-699-, 978-5-00117-, 978-5-00146-, 978-5-00169-
Есть макрос, который все это делает
Сначала у меня было 2 варианта отбора, теперь 5, и это не предел.
Я все условия отбора включил в макрос, а можно сделать так, чтобы условия отбора выбирались из справочника, который находиться на отдельном листе? Тогда при изменении условия отбора можно будет просто добавить в справочник новые данные.
Исходный файл и результат работы макроса прилагаются.
Спасибо!
Есть таблица, которая содержит более 40000 строк. Надо полностью скопировать на новый лист только те строки, у которых текст в ячейках в колонке ISBN начинается с кодов 978-5-04-, 978-5-699-, 978-5-00117-, 978-5-00146-, 978-5-00169-
Есть макрос, который все это делает
Код |
---|
Sub ISBN() Dim iTimer As Single iTimer = Timer Dim i& For i = 1 To Cells(Rows.Count, 11).End(xlUp).Row If Cells(i, 11) Like "978-5-04-*" Or Cells(i, 11) Like "978-5-699-*" Or Cells(i, 11) Like "978-5-00117-*" Or Cells(i, 11) Like "978-5-00146-*" Or Cells(i, 11) Like "978-5-00169-*" Then Rows(i).Copy Sheets("Отбор").Cells(Sheets("Отбор").Cells(Rows.Count, 11).End(xlUp).Row + 1, 1).PasteSpecial End If Next Application.CutCopyMode = False MsgBox "отбор завершен." & vbCrLf & "Время выполнения макроса " & Format((Timer - iTimer) / 86400, "Long Time"), vbInformation, "ОТБОР ISBN" End Sub |
Я все условия отбора включил в макрос, а можно сделать так, чтобы условия отбора выбирались из справочника, который находиться на отдельном листе? Тогда при изменении условия отбора можно будет просто добавить в справочник новые данные.
Исходный файл и результат работы макроса прилагаются.
Спасибо!