0
我有一個電子表格有成千上萬的行,在B列有許多重複,然後在G列有那一行的各自的價值。我需要從列B中刪除重複項,但留在具有最高值的行中(即最大列G)。有沒有辦法通過VBA自動執行此操作,因爲它需要在許多場合完成?刪除給定行的值重複VBA
感謝
我有一個電子表格有成千上萬的行,在B列有許多重複,然後在G列有那一行的各自的價值。我需要從列B中刪除重複項,但留在具有最高值的行中(即最大列G)。有沒有辦法通過VBA自動執行此操作,因爲它需要在許多場合完成?刪除給定行的值重複VBA
感謝
你可以試試這個:
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
錄製宏:基於G列中的數據進行排序,然後使用刪除重複。如果排序正確,刪除重複函數將僅保留最高值。 – vacip
在列G上按降序排序。然後突出顯示整個數據集並轉到數據>刪除重複項。只選擇B列。它將刪除B列中的所有重複項,並在每列中留下最高值。G –
@vacip擊敗我6秒 –