Удалить дубликаты с функцией Right - PullRequest
1 голос
/ 19 февраля 2020

Я ищу макрос для удаления дубликатов в столбце, относительно их последнего значения, например,

DES_FFAs_556
asda_FRF_556

Поскольку 556 совпадает, его следует удалить.

сейчас я получаю последние 4 цифры каждой ячейки, но я не знаю, как удалить с нее дубликаты

Sub duplicates()

Dim i As Long
Dim res As String
Dim WB As Workbook
Dim WS As Worksheet
Dim total As Long

Set WB = Workbooks("MQB37W - SW Architecture Matrix_Nw")
Set WS = WB.Sheets("SW Architecture Main - In...")

With WS
    total = .Cells(Rows.Count, 1).End(xlUp).Row

    For i = 4 To total
        res = Right(Cells(i, "A").Value, 4)
        WS.Range("A4:total").RemoveDuplicates Columns:=1, Header:=xlNo
    Next
End With
End Sub

1 Ответ

0 голосов
/ 19 февраля 2020

Вам не нужен VBA для этого. Вы можете просто использовать код из этого учебника в новом столбце, а затем на основе этого столбца вы можете фильтровать, условно форматировать или удалять строки. Если вы хотите указать только строки после первого вхождения, вы можете использовать COUNTIF. Конечно, если вам нужен VBA для чего-то другого, вы можете применить тот же лог c, который я описал выше внутри кода VBA.

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