Excel - Сравнете две колони и изтрийте дубликати
- Проблем
- Решение
- Забележка
Проблем
Имам нужда от макрос за електронна таблица на Excel, която ще сравнява линии, базирани на две клетки, и ще открие дубликати.
В този пример първите две колони - А и В - са тези, които трябва да бъдат уникални. Макросът трябва само да маркира редове, които са перфектно съвпадащи в двете колони. Така в този пример трябва да се маркира само петият ред, тъй като той е точно съвпадение за горния.
Пример:
Col A Col B Col C Col 00001 AAAA1 xxxx yyyy 00001 BBBB1 xxxx xxxx 00001 BBBB2 yyyy yyyy 00002 AAAA1 yyyy xxxx 00002 AAAA1 xxxx yyyy
Решение
Това решение ще промени данните в електронната ви таблица, затова се уверете, че сте запазили резервно копие.
Първо, трябва да комбинирате данните в колони А и В, така че те да могат да бъдат сравнени като цяло. За да направите това, въведете празна клетка в края на първия ред от данни (в този пример използваме ред 2 - променете, ако е необходимо):
= А2 и В2
Копирайте тази формула надолу за цялата електронна таблица.
Сега изпълнете макроса по-долу. В този примерен код се предполага, че сте написали горната формула в колона E. Променете кода, ако е необходимо.
Предупреждение: Този макрос ще изтрие редове, така че е важно да се уверите, че сте направили копието на резервното копие, преди да го тествате.
Подтекст () Dim j Като Integer, k As Integer, r As Range j = Обхват ("E2"). End (xlDown) .Row За k = j До 2 Стъпка -1 MsgBox k Задаване r = Обхват (клетки (k), "E"), Клетки (k, "E"). Край (xlUp)) Ако WorksheetFunction.CountIf (r, клетки (k, "E"))> 1 Тогава клетки (k, "E"). Изтриване на End Ако Следващ k Край Sub
Забележка
Благодарение на venkat1926 за този съвет на форума.