Здравствуйте!
Ведётся база данных результатов в файле Excel. На текущий момент в нём примерно 40 листов и на каждом по 467 строк.
Еженедельно в этот файл добавляется по одной-две строке и затем производится удаление большинства имеющихся строк так, чтобы оставалась новая/новые строки и ещё эннное количество старых строк из базы (в сумме их должно быть не больше 18-22). Потом на основе каждого из листов формируется график.
На данный момент в теле макроса указываются строки и/или диапазон строк, которые необходимо удалить, и затем это макрос запускается. После его отработки на всех листах остаются только прописанные в макросе строки.
Можно ли сделать так, чтобы указывать не удаляемое, а наоборот - то, что нужно оставить? Так просто проще.
Сейчас макрос выглядит следующим образом:
Строки нужно выбирать каждый раз разные, как и их содержимое, а потому создать фильтры по содержимому ячеек просто нет смысла.
Заранее спасибо!.
Ведётся база данных результатов в файле Excel. На текущий момент в нём примерно 40 листов и на каждом по 467 строк.
Еженедельно в этот файл добавляется по одной-две строке и затем производится удаление большинства имеющихся строк так, чтобы оставалась новая/новые строки и ещё эннное количество старых строк из базы (в сумме их должно быть не больше 18-22). Потом на основе каждого из листов формируется график.
На данный момент в теле макроса указываются строки и/или диапазон строк, которые необходимо удалить, и затем это макрос запускается. После его отработки на всех листах остаются только прописанные в макросе строки.
Можно ли сделать так, чтобы указывать не удаляемое, а наоборот - то, что нужно оставить? Так просто проще.
Сейчас макрос выглядит следующим образом:
Код |
---|
Sub Удаление_ненужного() ' ' Application.ScreenUpdating = False ' отключаем обновление экрана ' Удаляем ставшие ненужными строки Dim ws As Worksheet 'декларирование переменой For Each ws In Worksheets ws.Activate ' активируем лист If ws.Name <> "source" Then ' исключаем из обработки страницу source ' В скобках в следующей строке в формате "х:х" или "х:y", а также "х:х, y:z" указываем номера строк, которые надо удалить Range("2:22,24:28,33:33,36:37,39:51,54:95,97:125,127:145,147:256,258:283,285:393,395:396,398:406,408:447").Select ActiveWindow.SmallScroll Down:=0 Selection.Delete Shift:=xlUp Range("H2").Select End If Next End Sub |
Заранее спасибо!.