/ / Usuwanie duplikatów z podanej wartości wiersza VBA - excel, vba

Usuwanie duplikatów z podanej wartości wiersza VBA - excel, vba

Mam arkusz kalkulacyjny z tysiącami wierszy iw kolumnie B są liczne duplikaty, a następnie w kolumnie G znajduje się odpowiednia wartość tego wiersza.Muszę usunąć duplikaty z kolumny B, ale pozostawić w wierszu, który ma najwyższą wartość (tj. max kolumna G). sposób na zautomatyzowanie tego przez VBA, ponieważ będzie on musiał być robiony przy wielu okazjach?

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz spróbować tego:

Sub test()

Dim i As Long, j As Long
Dim wb As Workbook, ws As Worksheet

Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1") " Change the name of your sheet

With ws

i = 1 " Start at Row 1

Do While Not IsEmpty(.Cells(i, 2))

j = 1 " Start at Row 1
Do While Not IsEmpty(.Cells(j, 2))

If i <> j Then

If .Cells(i, 2).Value = Cells(j, 2).Value Then

If .Cells(i, 7).Value > Cells(j, 7) Then

Rows(j).EntireRow.Delete
j = j - 1
Else
Rows(i).EntireRow.Delete
If i > 1 Then i = i - 1
j = 1
End If
End If

End If

j = j + 1
Loop

i = i + 1
Loop

End With

End Sub