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

Status
Niet open voor verdere reacties.

NajKwin

Gebruiker
Lid geworden
24 dec 2015
Berichten
271
Hallo,

In het test bestand wordt op de geboortedatum gesorteerd waar bij de oudste bovenaan komt te staan.
Ik heb hiervoor een macro opgenomen en deze geplakt in mijn formulier(leerling toevoegen.

Ik gebruik dus de volgend code
Code:
ActiveWindow.SmallScroll Down:=-39
    Range("C13:D136").Select
    ActiveWindow.SmallScroll Down:=-51
    ActiveWindow.ScrollRow = 80
    ActiveWindow.ScrollRow = 79
    ActiveWindow.ScrollRow = 78
    ActiveWindow.ScrollRow = 75
    ActiveWindow.ScrollRow = 74
    ActiveWindow.ScrollRow = 63
    ActiveWindow.ScrollRow = 56
    ActiveWindow.ScrollRow = 49
    ActiveWindow.ScrollRow = 42
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 13
    ActiveWorkbook.Worksheets("LL").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("LL").Sort.SortFields.Add Key:=Range("D13:D136"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("LL").Sort
        .SetRange Range("C13:D136")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Nu vroeg ik mij af kan dit ook simpeler met minder regels?

GR Naj
 

Bijlagen

Ja, dat kan.

Code:
With Sheets("LL")
    .sort.SortFields.Clear
    .sort.SortFields.Add Key:=Range("D13"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With .sort
        .SetRange Range("C13:D136")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End With
 
Code:
Sub M_snb()
   Application.EnableEvents = False
   Blad1.Range("C13:D300").Sort Blad1.Cells(13, 4)
   Application.EnableEvents = True
End Sub

Prima onderwijs daar: allemaal instromers met dubbel oo.:evil:
 
Laatst bewerkt:
@snb
mooie oplossing. deze kende ik nog niet.
kan je hiermee ook aflopend sorteren?
 
Lijkt me wel

Code:
Sub M_snb()
   Application.EnableEvents = False
   Blad1.Range("C13:D300").Sort Blad1.Cells(13, 4), 2
   Application.EnableEvents = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan