Удалить строки, если два критерия соответствуют - PullRequest
0 голосов
/ 29 марта 2019

У меня есть два листа с данными, и я хотел бы удалить строки в sheet1, если два критерия совпадают. Я сделал мысленную карту идеи, чтобы ее было легче понять.

enter image description here

Я сделал самую первую часть кода, которая удаляет строки, когда один критерий соответствует, но также удаляет пустые строки, которые я хотел сохранить.

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False

Dim iListCount As Long
Dim x As Variant
Dim iCtr As Long

iListCount = Sheets("Sheet1").Cells(Rows.Count, "N").End(xlUp).Row

For Each x In Sheets("Laoseis").Range("B4:B" & Sheets("Sheet1").Cells(Rows.Count, "N").End(xlUp).Row)
  For iCtr = iListCount To 16 Step -1
    If x.Value = Sheets("Sheet1").Cells(iCtr, 14).Value Then
      Sheets("Sheet1").Cells(iCtr, 14).EntireRow.Delete
    End If
  Next iCtr
Next
Application.ScreenUpdating = True

End Sub

1 Ответ

0 голосов
/ 29 марта 2019

Я думаю, что вы можете использовать ниже:

Option Explicit

Private Sub CommandButton1_Click()

    Dim iListCount As Long, iCtr As Long
    Dim cell As Range

    Application.ScreenUpdating = False

    With ThisWorkbook

        iListCount = .Sheets("Sheet1").Cells(Rows.Count, "N").End(xlUp).Row

        For Each cell In .Sheets("Laoseis").Range("B4:B" & iListCount)

          For iCtr = iListCount To 16 Step -1

            If cell.Value = .Sheets("Sheet1").Cells(iCtr, 14).Value And cell.Value <> "" Then
                .Sheets("Sheet1").Cells(iCtr, 14).EntireRow.Delete
            End If

          Next iCtr

        Next cell

    End With

    Application.ScreenUpdating = True

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