Как я могу удалить все строки в Excel, которые соответствуют определенным критериям, а также последующие строки - PullRequest
0 голосов
/ 20 февраля 2020

Пример того, от чего я пытаюсь избавиться .

Я пытаюсь избавиться от ненужных данных на листе, который, кажется, был отформатирован для разбивки на страницы. В начале каждой новой «страницы» находится ячейка в столбце G с надписью «Страница X». Следующие шесть строк каждой страницы - это ненужные данные, которые я хочу удалить, и есть сотни «страниц».

Я хочу иметь возможность написать формулу, которая будет искать каждую ячейку на листе, содержащем текст «страница» (по крайней мере, в столбце G), а затем удалять эту строку плюс следующие шесть строк.

1 Ответ

0 голосов
/ 20 февраля 2020
  1. L oop через все ячейки в Column G
  2. Найти ячейки =page и ....
  3. Добавить эти ячейки + следующие 6 строк в Union (набор ячеек)
  4. Удалить Union в конце

Sub Maid()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- Update
Dim DeleteMe As Range
Dim LR As Long

LR = ws.Range("G" & ws.Rows.Count).End(xlUp).Row

    For i = 2 To LR
        If ws.Range("G" & i) = "page" Then
            If Not DeleteMe Is Nothing Then
                Set DeleteMe = Union(ws.Range("G" & i).Resize(7), DeleteMe)
            Else
                Set DeleteMe = ws.Range("G" & i).Resize(7)
            End If
        End If
    Next i

    If Not DeleteMe Is Nothing Then
        DeleteMe.EntireColumn.Delete
    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...