Op 29 november 2023 verschijnt Het complete boek Excel VBAvoor professionals, geschreven door Wim de Groot. Over hoe u door middel van macro’s en eigen functies uw Excel-leven een stuk aangenamer maakt. Met dit boek leert u programmeren in VBA. Dit boek sluit naadloos aan op Excel 2021 en 365. We geven u een voorproefje: Sorteren met een dubbelklik in Excel…
Sorteren met een dubbelklik in Excel
Als u een lijst (een adreslijst bijvoorbeeld) wilt sorteren, vraagt dat een paar zorgvuldige handelingen. In het begin van dit boek wordt beschreven hoe u zo’n lijst snel sorteert met knopjes die u bovenaan de kolommen plaatst. Daarmee zet u een macro in werking en de rest gaat vanzelf. Maar het kan nog eenvoudiger: wat dacht u ervan om de lijst te sorteren door gewoon te dubbelklikken ergens in de desbetreffende kolom? Dat klinkt bijna als toveren, maar de VBA-code hiervoor is verrassend eenvoudig.

We maken hiervoor gebruik van een zogeheten zelfstartende macro. De meeste macro’s moet u aan het werk zetten door op een knop te klikken (of op een sneltoets te drukken). Maar u kunt de macro ook laten reageren op een verandering in het werkblad, bij het openen van een werkmap en wanneer u dubbelklikt. Een macro die automatisch reageert op zo’n gebeurtenis (een event), is een eventmacro. De VBA-code voor zo’n macro krijgt u niet door deze op te nemen, maar typt u zelf, als volgt:
Open het Excel-bestand met uw lijst, waarin u het volgende handigheidje wilt inbouwen. Open dan de Visual Basic Editor met een klik op Alt+F11 (of klik met de rechtermuisknop op de bladtab onderaan en kies Programmacode weergeven). Links in beeld ziet u de projectverkenner met de aanduiding VBAProject(Bestandsnaam) en daaronder Blad1(Blad1)
en mogelijk meer laden. Dubbelklik daar op het werkblad waarin de procedure moet werken, bijvoorbeeld op Blad1. U ziet rechts in beeld, boven in het codevenster twee keuzelijsten (Algemeen) en (Declaraties). Open de linkerkeuzelijst en kies Worksheet. Door deze optie schrijft u code die reageert op iets wat in het werkblad gebeurt. Nadat u dat hebt gekozen, kunt u met de rechterkeuzelijst uit een aantal opties kiezen. Daar staan de gebeurtenissen binnen dit ene werkblad, waarop een macro automatisch kan reageren.

Dubbelklikt u op Blad1, dan kiest u links Worksheet en rechts een gebeurtenis in dat werkblad, BeforeDoubleClick in dit geval.Kies in de rechterlijst BeforeDoubleClick; in het codeblad verschijnen de volgende regels:
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
End Sub
Aan het feit dat de macronaam begint met Worksheet
is te zien dat dit een zelfstartende macro is binnen een werkblad. Bij u zal de eerste regel één lange regel zijn, wij hebben hem alleen afgebroken voor de weergave in het boek.
Typ tussen deze beide regels de volgende regels met opdrachten over, zodat het geheel er als volgt uitziet:
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
Dim OndersteRij As Long
OndersteRij = Cells(Rows.Count, 1).End(xlUp).Row
Rows("2:" & OndersteRij).Sort _
Key1:=Cells(2, ActiveCell.Column), Order1:=xlAscending
ActiveCell.Offset(1, 0).Select
End Sub
- De regels die met Private en met Rows beginnen, hebben we hier afgebroken met een spatie, onderstrepingsteken en Enter-toets; u mag daar in beide gevallen ook gewoon één lange regel van maken.
De code begrijpen
Deze code werkt als volgt:
We declareren een variabele die we OndersteRij
noemen en die door As Long
grote, hele getallen kan bevatten.
Eerst zoeken we het rijnummer van de onderste rij die gevuld is. Hiervoor beginnen we op de onderste rij van het werkblad via Rows.Count.
Met Cells(Rows.Count, 1)
selecteert de macro de onderste cel in kolom A (de 1 staat voor kolom nummer 1, dus kolom A). Vandaar springt End(xlUp)
omhoog naar de onderste gevulde cel en door Row
komt het rijnummer van die cel in de variabele OndersteRij.
Pas zo nodig hierin nummer 1 aan: als uw lijst begint bij kolom G, verander die 1 dan in 7 (kolom G is de zevende kolom). En controleer of onder in die kolom inderdaad de onderste gegevens staan (bevat die kolom enkele lege cellen, dan staan de onderste gegevens wellicht in een andere kolom).
In de volgende drie regels wordt het sorteren ingesteld. We laten hele rijen sorteren. We gaan ervan uit dat de opschriften bovenaan de lijst in rij 1 staan, die moeten blijven staan, dus het sorteren begint bij rij 2 en gaat tot en met de laatste gevulde rij, vandaar:
Rows("2:" & OndersteRij)
Het argument Key1 geeft aan op welke kolom Excel moet sorteren. Dat is
Key1:=Cells(2, ActiveCell.Column)
Excel sorteert op ActiveCell.Column
, dat is de kolom van de actieve cel, want daarop hebt u gedubbelklikt. En ook hier begint het sorteren bij rij 2.
De laatste regel is:
ActiveCell.Offset(1, 0).Select
Die is niet echt nodig, maar als u dubbelklikt op een cel (waarna de lijst wordt gesorteerd), staat de cursor in de cel alsof u die wilt bewerken. Het staat netter wanneer die cel niet meer actief is. Met deze opdracht wordt de cel geselecteerd onder de cel waarop u dubbelklikte.
De zelfstartende macro gebruiken
Nadat u deze macro op deze manier aan het bestand met uw lijst hebt toegevoegd, kunt u deze meteen gebruiken. Kijk op welke kolom u de lijst wilt sorteren en dubbelklik op een willekeurige cel in die kolom; de hele lijst wordt op die kolom gesorteerd.
U kunt de lijst sorteren door te dubbelklikken ergens in de kolom waarop u wilt sorteren.
Zo eenvoudig is het instellen van het sorteren met een dubbelklik in Excel!
Werkmap downloaden
Wanneer het boek verschijnt, kunt u een pakket van 220 gratis oefenbestanden downloaden. Het oefenbestand bij deze uitleg is: 10 Sorteren met Dubbelklik.
Het Complete Boek Excel VBA voor professionals
Als u vaak dezelfde bewerkingen in Excel uitvoert, laat ze dan door een macro doen. Die doet het automatisch, supersnel en nauwkeurig. Zo bespaart u zeeën van tijd, wordt uw werk gemakkelijker en profiteert u meer van de kracht van Excel. Macro’s worden geschreven in de taal VBA (Visual Basic for Applications). Daarin kunt u ook eigen rekenfuncties schrijven en dialoogvensters ontwerpen, waardoor u Excel nog krachtiger en veelzijdiger maakt.
In dit boek vindt u 550 macro’s en 40 rekenfuncties. Bij alle voorbeelden wordt stap voor stap uitgelegd hoe ze werken. Zo leert u in Het Complete Boek Excel VBA voor professionals de principes van VBA en kunt u ze aanpassen voor uw eigen werk.
De recentste tips over Microsoft Excel:
Code optimaliseren in Excel VBA
Door aan de slag te gaan met code optimaliseren in Excel VBA verkort u deze niet alleen, maar maakt u ‘m ook sneller. Onderstaand fragment is afkomstig uit Het complete Boek Excel VBA voor professionals, 4e editie.
Macro’s maken en gebruiken in Excel
Met macro’s in Excel kunt u allerlei zaken op een eenvoudige manier automatiseren door ze simpelweg op te nemen en weer af te spelen
Sorteren met een dubbelklik in Excel
Wat dacht u ervan om een lijst in Excel te sorteren door te dubbelklikken ergens in de desbetreffende kolom? Dat klinkt als toveren, maar de VBA-code hiervoor is verrassend eenvoudig.
De verticale as in een Excelgrafiek aanpassen
Excel stelt bij een grafiek zelf de grootste en kleinste waarde van de verticale as in, maar zelf de verticale as in Excelgrafiek aanpassen is ook een optie. Hoe, dat lees je hier.
Cellen kleuren met voorwaardelijk opmaak in Excel
Soms wordt een tabel wat onoverzichtelijk. Cellen kleuren met voorwaardelijke opmaak in Excel brengt dan helderheid!
Werken met lijsten in Excel
Je kunt van alles in lijstvorm zetten in een spreadsheet, bijvoorbeeld de welbekende adressenlijst. Werken met lijsten in Excel is dan ook een essentiële activiteit.
Al onze Excel-tips en trucs vind je HIER

Wim de Groot schrijft artikelen over Excel voor het populaire tijdschrift ComputerIdee en boeken bij van Duuren Media. Als freelance auteur heeft hij al vele lezers weten te boeien met dit rekenprogramma. Hij begeleidt in de gezondheidszorg mensen op het gebied van levensvragen. Daarbij is helder communiceren van groot belang. Dat hij helder kan communiceren blijkt ook in zijn uitleg van Excel. Aan beginnende en gevorderde gebruikers laat hij zien hoe ze de mogelijkheden van dit rekenwonder kunnen benutten. Als nuchtere noorderling doet hij niet moeilijk over zaken die ingewikkeld lijken. Zijn doel is om u plezier te laten beleven aan uw computer en aan Excel in het bijzonder. De boeken van Wim vind je hier.