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

Vba

Status
Niet open voor verdere reacties.
Nu de hele code tussen tags geplaatst, de macro van knop 2.
Nogmaals de vraag aan Ginger wat bedoel je met waarom zelf sorteren als Microsoft dat gewoon zelf kan. Via filters!!


Code:
Sub Figuur2_BijKlikken()
'
' Figuur2_BijKlikken Macro
' De macro is opgenomen op 20-12-2014 door.
'

'
    Range("E4:E2003").Select
    Range("B3:H2003").Sort Key1:=Range("E4"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Range("E4").Select
End Sub
Sub Figuur1_BijKlikken()
'
' Figuur1_BijKlikken Macro
' De macro is opgenomen op 20-12-2014.
'

'
    Range("D4:D2003").Select
    Range("B3:H2003").Sort Key1:=Range("D4"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("D4").Select
End Sub
Sub Figuur3_BijKlikken()
'
' Figuur3_BijKlikken Macro
' De macro is opgenomen op 20-12-2014.
'

'
    Range("F4:F2003").Select
    Range("B3:H2003").Sort Key1:=Range("F4"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("F4").Select
End Sub
 
Hermans99, Als je in je tabel staat en je klikt in het Lint HOME op de knop Sort & Filter en dan daarin kiezen voor Filter (of simpelweg de toetsenbord combinatie Ctrl + Shift + L), dan verschijnen er in de header van je tabel toch van die Pulldown knopjes? Als je zo'n knopje openklikt, zijn de eerste 2 opties om je tabel op de betreffende kolom te sorteren (van A naar Z of van Z naar A). Dat is alles wat ik bedoelde... ;-)
 
Laatst bewerkt:
Vervang je macro door:

Code:
Sub Figuur2_BijKlikken()
   sheets("bladnaam").cells(1).currentregion.Sort sheets("bladnaam").cells(1,5)
End Sub

Blijven de volgende vragen staan:
- waarom gebruik je rij 1 niet ?
- heeft het te sorteren gebied kolomnamen ?
- waarom gebruik je geen tabel (VBA listobject) ?
- waarom plaats je geen voorbeeldbestand met de eerste 10 rijen van het werkblad dat je wil sorteren ?
 
Laatst bewerkt:
Voor elke kolom heb ik een macro gemaakt, de macro die nu op de site staat is de macro voor kolom 2 en gekoppeld aan knop 2 boven de kolom.
Ik heb 6 kolommen en dus 6 macro`s gemaakt. 6 keer sorteren over 10.000 regels die in wil verlengen naar 25.000 regels.
Het voorbeeldbestand over 50 regels staat er toch al op, die heb ik al geplaatst.

SNB wat je bedoelt met " waarom gebruik je geen tabel (VBA listobject)" begrijp ik niet.
 
Het jij geen lint met een tabblad 'invoegen' met een icoon 'tabel' ?

Probeer die eens uit als je met de cursor in jouw 'tabel' staat.

Probeer svp mijn andere vragen te beantwoorden.
 

Bijlagen

Laatst bewerkt:
@ snb

Hermans99 beschikt over XL2002 (zie post #7) dus ...
 
maar hoe krijg in deze macro in mijn bestand met 10.000 regels die ik wil uitbreiden naar 25.000.

Met 'currentregion' heb je geen aanpassing in de code nodig.
10.000 of 100.000 maakt voor de gemaakte code niet uit.
Een voorwaarde; het moet een aaneengesloten bereik zijn.
 
Hmmm... weet het niet zeker, maar volgens mij bevatte Excel 2003 (2002 = MAC ??) toch ook al de AutoFilter knopjes die in de header verschijnen? Dan zie ik nog steeds geen reden om dit af te moeten vangen via VBA....
 
Antwoorden op de vragen van SNB zijn.
- waarom gebruik je rij 1 niet ? Ik gebruik 6 rijen 1 t/m 6 ik heb alleen de rij en de kolomknoppen uitgezet bij de opties.
- heeft het te sorteren gebied kolomnamen ? Ja elke kolom heeft een naam zowel op de sorteerknop als in de kop van de kolom zelf
- waarom gebruik je geen tabel (VBA listobject) ? Deze vraag snap ik niet ik heb Excel 2002 met SP 3
- waarom plaats je geen voorbeeldbestand met
de eerste 10 rijen van het werkblad dat je wil sorteren Ik heb toch een bestand met 50 rijen geplaatst, dit had ik via filters gemaakt en de nummering is veranderd. Waarom!!! ik weet het miet


Alle regels zijn aansluitend.
Ik ben bezig geweest met de filters in Microsoft, maar daar zit volgens mij een limiet aan, dit filter filtert maar op 1000 regels volgens mij en dat is 10 % van het geheel.
Ik mis namen, en de nummering wordt ook veranderd. Vertel ik dit zo goed begrijpen jullie mij.
De filters is geen goed alternatief, ik mis gewoon diverse namen en nummers.
Het is jammer dat ik beide bestanden niet kan laten zien, dat praat voor mij een stuk makkelijker.
 
In XL-2003 (als dit gelijk is aan XL-2002) heet het geen tabel maar lijst. Selecteer het hele gebied en klik op data en vervolgens op lijst en vervolgens op lijst maken. <Ctrl> + L is de sneltoets hiervoor. Je hebt nu een aangesloten gebied dat je tot maximaal drie niveaus kan sorteren. Je kan op een onbeperkt aantal regels filteren alleen de eerste 1000 worden getoond als je op de filterknop drukt. Via geavanceerd krijg je meer opties.

Zie het bijgevoegde bestandje.
 

Bijlagen

Laatst bewerkt:
Hmmmm.... snap ik de vraag nou niet meer??? Gaat het hier nou over Filteren óf Sorteren????
 
Ja ik wil ook veel liever via een macro sorteren i.p.v. sorteren via de filters. Maar het kan wel sorteren via de filters.
Maar waarom lukt het me niet om alle macro`s weg te gooien (dat gaat nog wel) en gewoon nieuwe te maken en die aan de knoppen te koppelen.
Er zitten 6 macro in, die ik wil verwijderen en dan 6 nieuwe maken en koppelen aan de knoppen.

Of nog veel beter de range in VBA aan te passen van 10.000 regels naar 25.000 regels want dat was de 1e vraag van mij.
 
Volgens mij lees je geen enkel antwoord en je doet er in mijn optiek al helemaal niets mee. Alle methoden over het sorteren van een bereik zijn al wel voorbij gekomen. Maar blijkbaar is dit nog niet genoeg?
 
OK, het gaat dus over sorteren én niet over filteren! Ook prettig om te vernemen dat het sorteren dus ook lukt via de AutoFilter knopjes in je header. Maar goed als...
de range in VBA aan te passen van 10.000 regels naar 25.000 regels
...dan moet je tóch ff gehoor geven aan de vele malen gegeven oplossing van het object CurrentRegion. Zet deze code 'ns in je workbook en laat die ff een keer lopen.
Code:
Sub EffeTesten()

    Sheets("Blad1").Cells(4, 1).CurrentRegion.Select

End Sub
Je zal dan zien dat je hele tabel geselecteerd is. Haal de selectie weg. Tik een extra regel onderaan je tabel en laat de procedure wéér een keer lopen. Je zal dan zien dat die nieuwe extra regel ineens bij je selectie zit. Dit zou je genoeg vertrouwen moeten geven om 'ns te gaan stoeien met de geboden oplossingen. ;)
 
Krijg ik nou op mijn kop dat ik niet luister, zie ik dat nou goed.
Ik zit hier toch op de site help.mij.
Als je deze leek nou precies verteld wat jullie willen, dachten jullie dan echt dat ik niet zou luisteren!!!!
Wat moet ik met deze zin:

Code:
dan moet je tóch ff gehoor geven aan de vele malen gegeven oplossing van het object CurrentRegion. Zet deze code 'ns in je workbook en laat die ff een keer lopen

Wat wordt hiermee bedoelt, ik begrijp dit werkelijk niet.
Ik stel een moeilijke vraag, althans dat vind ik, maar de antwoorden zijn vele malen moeilijker.
Ik heb ergens iets gelezen over domme vragen.
 
Verwijder alle macro's die jij gemaakt hebt en zet onderstaande in de plaats.
Rechtsklik daarna op elke knop, selecteer Macro toewijzen en selecteer de naam van de nieuwe macro. Klik op Ok.
Sla je bestand op. Klaar.
Code:
Sub Sorteren()
    Cells(3, 1).CurrentRegion.Sort Cells(3, Val(Right(Application.Caller, 1))), , , , , , , 1
End Sub
 
Wat wordt hiermee bedoelt, ik begrijp dit werkelijk niet.

Op je kop krijgen? Misschien een beetje ;). De helpers hier helpen heel graag iedereen. Van welk niveau dan ook. Maar als je als helper op een gegeven ogenblik het gevoel krijgt dat er in een rondje wordt gedraaid, gaat de lol van een vraag er toch af. Toch wilde ik je niet laten zitten met je probleem en heb je daarom via een simpele procedure willen laten zien wat het object CurrentRegion doet.
Als je - naar mijn gevoel - met een open vizier de rest van m'n reactie had gelezen, dan komt dat volgens mij toch niet "lelijk of bestraffend" over. Buiten het geven van een kant en klare oplossing (wat eigenlijk niet geheel de bedoeling is) is een helper namelijk ook op zoek naar het verspreiden van kennis om zo de vraagsteller mee te krijgen in Excel en VBA. Mijn idee was dus om je inzicht te geven in een mogelijkheid tot oplossen van je probleem.

Snappie?
 
Laatst bewerkt:
@ Leo

Misschien dat het eurocentje met m'n laatste post eindelijk valt :d
 
Excel 2002 AKA Excel XP onderdeel van Office XP kende de Lijst optie niet, die is in Excel 2003 geintroduceerd. In Excel XP ook geen sorteer opties in de autofilter dropdowns.
 
Warm Bakkertje, je heb me bijna geholpen. Je moet nog 1 eurocentje laten vallen!!!
Al mijn macro`s, verwijderd, die nieuwe gekoppeld aan de knoppen.
Maar nu sorteert de knop van kolom A, de hele kolom B. De knop van kolom B sorteert de kolom C enz tot kolom 6.
Kolom A wordt dus niet gesorteerd, moet ik de macro iets aanpassen!!
Ik ben begonnen te koppelen aan knop A, dan B, enz.


Misschien zijn jullie nu pas duidelijk voor me.
Ik mag van mijn baas ook geen afkortingen gebruiken als ik met een klant bel of aan het praten ben.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan