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

Alles meenemen in sorteren via macro

Status
Niet open voor verdere reacties.

wieckbud

Gebruiker
Lid geworden
26 jun 2011
Berichten
16
Goedemiddag, ik heb een excel bestand met Ebooks gemaakt en hier 3 knoppen met macro's gemaakt zodat ik kan sorteren op auteur, titel en reeks.
Nu heb ik echter het volgende probleem.
Als ik nieuwe ebooks heb en deze er onderaan bij plak en dan vervolgens op de knop druk om op auteur te sorteren neemt hij deze nieuwe aanvulling niet mee in het sorteren.
Wat doe ik fout?
 
Je moet het bereik in je sorteermacro dynamisch maken, dan neemt ie wel alle nieuwe rijen mee.
 
Bedankt voor je antwoord. Ik maak een Macro via opnemen, kun je mij misschien aangeven hoe dit dan in zijn werk gaat?
Ik doe het nu als volgt, macro opnemen, dan selecteer ik alles via de schuine pijl in de linkerbovenhoek, vervolgens ga ik naar aangepast sorteren en laat hem sorteren op auteur.
Dan stop ik de macro opname en wijs de macro toe aan de sorteerknop.
Ik zal dus ergens het bereik dynamisch moeten maken maar geen idee hoe en wanneer.
 
Indien je bereik nu bv A1:H15 is dan is dat bereik statisch, om het dynamisch te maken wijzig je 15 in het aantal regels die items bevatten:
Code:
Range("A1:H" & Range("A" & rows.count).End(xlup).Row)
Als je nu items toevoegt onder de 15de regel past het bereik zich automatisch aan.
PS: Deze telt wel enkel de rijen in kolom A en heeft dus geen invloed op het aantal items in de andere kolommen.
 
Cells.Select
ActiveWorkbook.Worksheets("Ebook").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ebook").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Ebook").Sort
.SetRange Range"(A1:E13019")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("F2").Select
End Sub

Zo stond hij.
Nu heb ik de range aangepast naar SetRange Range("A1:E20000") zodat hij tot rij 20000 selecteert en dit werkt nu.

Hoe ziet de regel er uit zodat hij ongeacht wat er nog bijkomt altijd sorteert?
 
Het antwoord is toch al gegeven:
Code:
.SetRange Range("A1:E" & Range("A" & rows.count).End(xlup).Row)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan