sobota, 6 kwietnia 2013

Excel VBA - usuwanie duplikatów

Skrypt znajduje w bieżącym zaznaczeniu wartości powtarzające się i usuwa je nie pozostawiając ani jednej kopii. Przykład:



'usuwanie wartości, które wystąpiły wielokrotnie
Option Explicit

Sub UsunDuplikaty()
    
    Dim k1 As Range
    Dim k2 As Range
    Dim dup As Range
    
    Dim BiezacyZakres As Range
    Set BiezacyZakres = Selection
    
    Dim i As Integer
    
    For Each k1 In BiezacyZakres
      
      Set dup = k1
      
      For Each k2 In BiezacyZakres
        If k1.Value = k2.Value _
           And k1.Address <> k2.Address Then
          Set dup = Application.Union(dup, k2)
        End If
      Next
      
      If dup.Count > 1 Then
         dup.Value = Empty
      End If
      
    Next
    
End Sub

Brak komentarzy:

Prześlij komentarz