Avatar billede kgndksv Juniormester
10. januar 2010 - 17:57 Der er 6 kommentarer og
1 løsning

Slette dubletter i Excel 2003

Hej
Findes der en funktion hvor man kan slette dubletter i et område, jeg ved der findes i excel 2007, men jeg skal lave et program som kan bruges i 2003.

Det skal være en del af en VBA kode.

Jeg har lavet et lille forsøg i 2003, kan det laves mere hensigtsmæssigt? Evt. med et array?

Forestil Jer, at i de ark koden bruger er det kun Kolonne A den arbejder i. På hvert ark i Kolonne A står der en masse medarejder ID, ikke alle IDer er i hvert ark. Meningen med koden er at jeg skal lave en liste over alle IDer.

Jeg skal bruge denne liste i en anden kode.

Private Sub prøve()
Dim Medarbområde As Range

Worksheets("vagtfordeling").Cells.Delete

For Each WS In ThisWorkbook.Worksheets
    If Not WS.Name = "Time-oversigt" Xor WS.Name = "Skillset" Xor WS.Name = "Headcount" Xor WS.Name = "Vagtfordeling" Then
        WS.Select
       
        Aend = Range("A65000").End(xlUp).Row
       
        Set Medarbområde = Range(Cells(3, 1), Cells(Aend, 1))
       
        Medarbområde.Select
        Selection.Copy
        Sheets("Vagtfordeling").Select
        Worksheets("Vagtfordeling").Range("a65000").End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste

        Worksheets("vagtfordeling").Cells.ClearFormats
    End If
Next WS

With Worksheets("Vagtfordeling")
    Aend = Range("A65000").End(xlUp).Row
    Range(Cells(2, 1), Cells(Aend, 1)).RemoveDuplicates Columns:=1, Header:=xlNo
End With

End Sub
Avatar billede store-morten Ekspert
10. januar 2010 - 18:23 #1
Data --> Filter --> Avanceret filte, flueben i 'Kun unikke poster'
Avatar billede store-morten Ekspert
10. januar 2010 - 18:36 #2
Lidt at lege med.

Sub Makro2()
    Columns("A:A").Select
    Range("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    Range("A:A").Select
    Selection.Copy
    Range("F1").Select
    ActiveSheet.Paste
    Columns("A:A").Select
    Application.CutCopyMode = False
    Range("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=False
    Range("F1").Select
End Sub
Avatar billede store-morten Ekspert
10. januar 2010 - 18:44 #3
Bemærk: Kopiere og sætter ind i kolonne F
Ret selv til, eller slet, for ikke at over skrive data.
Avatar billede kgndksv Juniormester
20. januar 2010 - 21:58 #4
Lavede denne istedet og bruger den sammen med en anden kode.

Sub Sletdub()

Dim Rng2 As Range, cell As Range

Set Rng2 = Range(Cells(1, 1), Cells(65535, 1).End(xlUp))
   
Rng2.Sort Key1:=Range("A2"), Order1:=xlAscending
   
For Each cell In Rng2
    If cell.Value = cell.Offset(1, 0).Value Then
        cell.Clear
    End If
Next

For Each cell In Rng2
    If cell.Value = "Salgsledere" Xor cell.Value = "POPL" Xor cell.Value = "CHURN" Xor cell.Value = "ALL-ROUND" Xor cell.Value = "LISTEN" Xor cell.Value = "RECEPTION" Xor cell.Value = "SLUT" Xor cell.Value = "SALG" Then
        cell.Clear
    End If
Next
Rng2.Sort Key1:=Range("A2"), Order1:=xlAscending


End Sub
Avatar billede store-morten Ekspert
30. januar 2010 - 23:57 #5
Husk at lukke?
Avatar billede kgndksv Juniormester
31. januar 2010 - 01:13 #6
Nå, ja... :-)
Avatar billede kgndksv Juniormester
31. januar 2010 - 01:13 #7
s
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester