• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Ontdubbelen

  • Onderwerp starter Onderwerp starter jpvs
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jpvs

Gebruiker
Lid geworden
28 jan 2003
Berichten
806
Heb een macro gevonden die alle dubbelen eruit haalt in kolom A behalve de eerste cel (A1).
Kan er iemand dit schoonheids foutje eruit halen.


Code:
Sub OntdubbelenKiesPlaats()
Dim PlakPlaats
On Error Resume Next
Set PlakPlaats = Application.InputBox _
(Prompt:="Geef een cel op,waar u de lijst wilt plakken.", Type:=8)
If PlakPlaats Is Nothing Then Exit Sub

Range("A:A").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=PlakPlaats.Cells(1, 1), Unique:=True

If MsgBox("Zal ik de nieuwe lijst ook meteen sorteren?", _
vbYesNo + vbDefaultButton1 + vbQuestion, "Sorteren?") = vbYes Then
PlakPlaats.Range("A1:A6000").Sort _
Keyl:=PlakPlaats.Cells(1, 1), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If

If MsgBox("Mag ik de oorspronkelijke gegevens verwijderen?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "Opschonen") = vbYes Then
Columns("A:A").ClearContents
End If

PlakPlaats.Cells(1, 1).Select
End Sub
 
Zet:
Code:
Header:=xlGuess
eens op:
Code:
Header:=xlNo

Lukt het dan?

Richard
 
Beste Jean Pierre,

De eerste keer dat je via Filter > Autofilter > Uitgebreid filter de actie uitvoerde, en misschien met de macrorecorder opnam, zal Excel de melding hebben gegeven dat de actie niet uitgevoerd kon worden omdat Excel niet kon bepalen of de lijst kolomlabels bevat. Als je dan op 'OK' hebt geklikt, wordt de waarde in de bovenste cel van de lijst/selectie aangemerkt als kolomlabel, en die gaat sowieso mee.
Zet in cel A1 maar eens 'Cijfers' neer, dan zul je zien dat het getal 1 maar één keer voorkomt.
Een andere oplossing die ik bedenken kan, is het verwijderen van de bovenste waarde uit de gekopieerde lijst wanneer die meer dan één keer voorkoomt.

Ik ben geen VBA-deskundige, maar het sorteren verloopt ook nog niet lekker.

Groeten,
Richard
 
Richard,

Je zou wel eens gelijk kunnen hebben ivm een kolomlabels?

Misschien is er nog iemand die een oplossing kan bieden.

Pierre
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan