Sorteren en dezelfde waarden in kolom weglaten.

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

Rnie

Gebruiker
Lid geworden
19 jun 2009
Berichten
63
Hoi,

Ik heb de volgende code om te sorteren:
Code:
 Private Sub CommandButton1_Click()
    Range("A10", Range("K10").End(xlDown)).Select

    Selection.Sort _
    Key1:=Range("A10"), Order1:=xlAscending, _
    Header:=xlYes, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom
    Range("A65536").End(xlUp).Offset(1, 0).Select
End Sub

Nu kan het zo zijn dat er in kolom A dezelfde waarden staan. Nu wil ik graag dat de eerste waarde die hetzelfde is blijft staan en de waarden eronder weggelaten worden.

Om het duidelijker te maken heb ik voorbeeldje bijgevoegd. Als ik ga sorteren word alles op volgorde gezet (duhuuh:p) maar ik wil dan de rood gearceerde cellen leeg hebben.
Is hier een VBA code te maken? (in mijn origineel bestand werk ik niet met gearceerde cellen dus een code zonder verwijzingen naar gearceerde cellen).

Groet,
Rnie
 

Bijlagen

Bedoel je zoiets?

Niet helemaal. Kolom B en C moeten gewoon hetzelfde blijven. Ik wil alleen dat in kolom A de waarden weggelaten worden die voor de tweede, derde, ect keer voorbij komen.
Het liefst heb ik de waarden helemaal weg want in jou voorbeeld is lettertype wit gemaakt.
 
Je hebt niet gezegd dat de velden leeg mogen worden gemaakt... Maar dan klopt je gegevenslijst ook niet meer, als je gaat sorteren wil je geen gaten in je lijst, neem ik aan?
 
Je hebt niet gezegd dat de velden leeg mogen worden gemaakt... Maar dan klopt je gegevenslijst ook niet meer, als je gaat sorteren wil je geen gaten in je lijst, neem ik aan?

Ik zat zo te denken:
Eerst sorteren en dat alle waarden er dus gewoon staan. Hierna de dubbele waarden in kolom A weglaten. Anders klopt het inderdaad niet zoals jij zegt.
 
Steek dit mee in je sorteren macro
Code:
On Error Resume Next
    sq = Range("A10:A" & Cells(Rows.Count, 1).End(xlUp).Row)
        For i = UBound(sq) To 2 Step -1
            If sq(i - 1, 1) = sq(i, 1) Then sq(i, 1) = ""
        Next
    [A10].Resize(UBound(sq)) = sq
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan