多分あなたはカスタムVBA dup-removerが必要です。これを試してみてください:
Sub RemoveVisibleDupes(r As Range, comparedCols)
Dim i As Long, j As Long, lastR As Long
i = r.Row: lastR = r.Row + r.Rows.count - 1
Do While i < lastR
For j = lastR To i + 1 Step -1
If Not (r.Rows(i).Hidden Or r.Rows(j).Hidden) And areDup(r.Rows(i), r.Rows(j), comparedCols) Then
r.Rows(j).Delete
lastR = lastR - 1
End If
Next
i = i + 1
Loop
End Sub
Function areDup(row1 As Range, row2 As Range, comparedCols) As Boolean
Dim col
For Each col In comparedCols
If row1.Cells(col).Value <> row2.Cells(col).Value Then Exit Function
Next
areDup = True
End Function
テスト
Sub TestIt()
On Error GoTo Finish
Application.DisplayAlerts = False: Application.EnableEvents = False: Application.ScreenUpdating = False
' call our custom dup-remover on filtered columns A:C with comparing columns 1 and 3
RemoveVisibleDupes Sheet2.Range("A1:C" & Sheet2.Cells(Sheet2.Rows.count, 1).End(xlUp).Row), Array(1, 3)
' To use it with one column only, say 3, replace Array(1, 3) with array(3)
Finish:
Application.DisplayAlerts = True: Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
私は少し違う何か意味:上からあなたの例を使用して - 私はスペインのために重複した都市を削除しても、残りのすべての他の重複を残したいです各国の – Coco
このようなもの:http://tinypic.com/r/nvwdcj/9 – Coco
@ココ私は - 要件があるかもしれないことを恐れていました...その場合、これはあなたのための解決策ではありません、ごめんなさい – elmer007