Note: The other languages of the website are Google-translated. Back to English

Hoe kolomgegevens sorteren door op de koptekst in Excel te klikken?

Stel dat ik een reeks gegevens heb, nu zou ik de gegevens in oplopende of aflopende volgorde willen sorteren door op een kolomkop te klikken om de volgende schermafbeelding te laten zien. Hoe zou je deze klus in Excel kunnen oplossen?

document sorteren op klik 1

Sorteer gegevens door op de kolomkop met VBA-code te klikken


pijl blauw rechts bel Sorteer gegevens door op de kolomkop met VBA-code te klikken

Normaal gesproken kunt u in Excel de sorteerfunctie toepassen om de gegevens snel en gemakkelijk te sorteren, maar om gegevens te sorteren door gewoon op een cel te klikken, kan de volgende VBA-code u een plezier doen.

1. Klik met de rechtermuisknop op de bladtab waarop u gegevens wilt sorteren door op een cel te klikken en kies Bekijk code vanuit het contextmenu en in het geopende Microsoft Visual Basic voor applicaties venster, kopieer en plak de volgende code in de lege module:

VBA-code: sorteer gegevens door op een cel- of kolomkop te klikken:

Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub

document sorteren op klik 2

2. En sla vervolgens het codevenster op en sluit het, als u nu dubbelklikt op een cel of kolomkop binnen het gegevensbereik, wordt de kolom in oplopende volgorde gesorteerd, als u er nogmaals op dubbelklikt, wordt de kolom in één keer aflopend gesorteerd.


Meer gerelateerde artikelen:

Hoe verander ik de celwaarde door op de cel te klikken?

Hoe gegevens filteren door op celinhoud in Excel te klikken?


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (6)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Werkt goed om te stijgen, dubbelklik een 2e keer zoals vermeld om af te dalen doet niets
Deze opmerking is gemaakt door de moderator op de site
Werkt niet, er gebeurt niets, weet hoe je een module in vba moet maken, deed dat, opgeslagen en niets toen de header dubbelklikte. Maak het alsjeblieft.
Deze opmerking is gemaakt door de moderator op de site
Nee kan crackerjack doen - niet werken
Deze opmerking is gemaakt door de moderator op de site
Hallo Rob, De bovenstaande code werkt goed in mijn Excel, kun je hier een screenshot van je probleem geven?
Deze opmerking is gemaakt door de moderator op de site
Hallo,
der Code funktioniert auch gut bei mir. Allerdingen die betrekking hebben op de obers van beide Zeilen nicht mit sortieren, de diese die Überschriften sind.
Wie moet ik zijn? Code ändern?

Dank je wel!
Deze opmerking is gemaakt door de moderator op de site
Hallo vriend,
Hier is de VBA die je nodig hebt:

Openbare blnToggle As Boolean
Privé subwerkblad_BeforeDoubleClick _
(ByVal-doel als bereik, annuleren als booleaans)
'Bijwerken door' Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim Sorteerbereik als bereik
LaatsteKolom = _
Cells.Find(What:="*", After:=Bereik("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Kolom
keyColumn = Doel.Kolom
Als keyColumn > LastColumn, dan Sub afsluiten
Application.ScreenUpdating = False
Annuleren = Waar
LastRow = Cellen(Rijen.Count, keyColumn).End(xlUp).Rij
On Error Resume Next
Stel SortRange = Target.CurrentRegion in
Dim ik zo lang
i = 2
Stel SortRange = SortRange.Offset in (i, 0)
Set SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Niet blnToggle
Als blnToggle = Waar Dan
Sorteerbereik.Sorteren _
Key1:=Cellen (2, keyColumn), Order1:=xlAscending, Header:=xlNo
Anders
Sorteerbereik.Sorteren _
Key1:=Cellen (2, keyColumn), Order1:=xlDescending, Header:=xlNo
End If
Stel SortRange = Niets in
Application.ScreenUpdating = True
End Sub


Als je headers van 3 rijen hebt, verander dan gewoon "i =2" in "i =3" in de VBA. Hoop dat het helpt. Een fijne dag verder.

Hoogachtend,
Mandy
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL