Удалите 1 строку на 2 строки нескольких условий соответствия в VBA - PullRequest
0 голосов
/ 09 июля 2020

у меня есть несколько столбцов данных 3 - ключевые столбцы ab и c

Мне нужно проверить значения в столбце A, которые меньше 1,5

Мне нужно проверить дубликаты значения в столбце B только для строк, которые меньше 1,5 в столбце A, затем сравните эти строки с столбцом C, если C также имеет повторяющиеся значения, где выполняются условия A&B, затем удалите 1 дубликат, где выполняются 2 условия ab и c встретил

пример.

   A        B         C

1  1/4   30  1/2     30
1  1/4   30  1/2     30  
1  1/4   30  1/2     30
1  1/4   30  1/2     30 
1  1/4   30          31
1  1/4   28  1/4     31
1  1/4   30  1/2     31
1  1/4   11 14/45    32
1  1/4   11 14/45    32
1  1/4   13  1/2     35
1  1/2   21          33
1  1/2   21          33

После запуска

   A        B         C

1  1/4   30  1/2     30
1  1/4   30  1/2     30
1  1/4   30          31
1  1/4   28  1/4     31
1  1/4   30  1/2     31
1  1/4   11 14/45    32
1  1/4   13  1/2     35
1  1/2   21          33

текущий код имеет logi c ошибки нет отладочной информации. Я также не знаю, как удалить отсюда только 1 строку на набор дубликатов.

Dim lrow As Long
Dim lrow2 As Long
Dim GotMatch As Long
Dim i As Long
Dim l As Long


    lrow = Range("H:H,Q:Q").End(xlUp).Row
    lrow2 = Range("P:P").End(xlUp).Row

          For i = 8 & 17 To lrow
          For l = 16 To lrow2
                If Cells(i, 8 & 17) <> "" & Cells(i, 16) < 1.51 Then
                     GotMatch = WorksheetFunction.Match(Cells(i, 8 & 17), Range("H1:H,Q1:Q" & lrow), 0) & _
                     WorksheetFunction.Match(Cells(l, 16), Range("P:P" & lrow2), 0)
                         If i + l <> GotMatch Then
                             Cells(i + l).EntireRow.Delete
                         End If
                End If
            Next
          Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...