• 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.

Sorteren van gegevens mbv. een macro

Status
Niet open voor verdere reacties.

Evelthoven

Gebruiker
Lid geworden
26 sep 2006
Berichten
690
Goedemorgen,

Hierbij de inhoud van een macro die ik heb opgenomen en handmatig heb aangepast op basis van informatie uit dit forum:

HTML:
Sub Sorteren_gegevens()
'
' Sorteren_gegevens Macro
'

'
    
LastRow = Range("A65535").End(xlUp).Row
Range("A5:G" & LastRow).Select
    
    
    
    ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Add Key:=Range("A5:G" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Add Key:=Range("A5:G" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Gegevens").Sort.SortFields.Add Key:=Range("A5:G" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Gegevens").Sort
        .SetRange Range("A5:G405")
        .Header = xlYes
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A6").Select
End Sub

Als ik de macro probeer uit te voeren krijg ik de volgende foutmelding:

Fout 1004 tijdens uitvoering;
De sorteersleutel is ongeldig. Controleer of de sleutel binnen de gegevens ligt die u wilt sorteren en of het eerste vak Sorteren op niet hetzelfde leeg is.

Dan kies is voor foutopsporing en dan is in de macro de bijna laatste regel waarin in staat
.Apply geel.

Ik ben een leek op het gebied van macro's. Kan iemand de code aanpassen/verbeteren?

Alvast bedankt voor alle hulp.

Gr.
Eric
 
Deze zou voldoende moeten zijn:

Code:
Sub Sorteren_gegevens()
With Sheets("Gegevens")
    Lastrow = .Range("A65535").End(xlUp).Row
           .Range("A5:G" & Lastrow).Sort Key1:=.[COLOR="#FF0000"]Range("B5")[/COLOR]
End With
End Sub

De rode Range verwijst naar kolom B, dus er wordt gesorteerd op kolom B.
 
Goedemiddag Cobbe,

Allereerst bedankt voor je snelle reactie.
Ik begrijp je antwoord helaas niet. De bedoeling is dat hij op 3 niveau's sorteert. Als eerste op kolom B, daarna op kolom A en als laatste op kolom C.
Wil je aub. dit nog inbouwen in je macro ?

Bedankt.
Gr. Eric
 
Een kwestie van de code uitbreiden.

Code:
With Sheets("Gegevens")
    Lastrow = .Range("A65535").End(xlUp).Row
    .Range("A5:G" & Lastrow).Sort key1:=.Range("B5"), Key2:=Range("a5"), key3:=Range("C5")
End With

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan