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

Hvordan sorteres søjledata ved at klikke på overskrift i Excel?

Antag, jeg har en række data, nu vil jeg sortere dataene i stigende eller faldende rækkefølge ved at klikke på et hvilket som helst kolonneoverskrift for at få vist følgende skærmbillede. Hvordan kunne du løse dette job i Excel?

doc sorteres ved at klikke 1

Sorter data ved at klikke på kolonneoverskrift med VBA-kode


pil blå højre boble Sorter data ved at klikke på kolonneoverskrift med VBA-kode

Normalt kan du i Excel anvende sorteringsfunktionen til at sortere dataene hurtigt og nemt, men for at sortere data ved blot at klikke på en celle kan følgende VBA-kode gøre dig en tjeneste.

1. Højreklik på arkfanen, som du vil sortere data ved at klikke på en celle, og vælg Vis kode fra genvejsmenuen og i det åbnede Microsoft Visual Basic til applikationer vindue, kopier og indsæt følgende kode i det tomme modul:

VBA-kode: Sorter data ved at klikke på en celle- eller kolonneoverskrift:

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

doc sorteres ved at klikke 2

2. Og gem derefter og luk kodevinduet, når du dobbeltklikker på en hvilken som helst celle eller kolonneoverskrift inden for dataområdet, sorteres kolonnen i stigende rækkefølge, hvis du dobbeltklikker på den igen, sorteres kolonnen faldende med det samme.


Flere relaterede artikler:

Hvordan ændres celleværdien ved at klikke på cellen?

Hvordan filtreres data bare ved at klikke på celleindhold i Excel?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (8)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Fungerer ok at stige op, dobbeltklik en 2. gang som angivet for at gå ned gør ingenting
Denne kommentar blev minimeret af moderatoren på webstedet
Virker ikke, der sker ikke noget, ved hvordan man opretter modul i vba, gjorde det, gemte og intet når header dobbeltklikkede. Ret det venligst.
Denne kommentar blev minimeret af moderatoren på webstedet
Ingen kan lave crackerjack - virker ikke
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Rob, Ovenstående kode fungerer godt i min Excel, kan du give dit problem et skærmbillede her?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
der Code funktioniert auch gut bei mir. Allerdings würde ich gerne die oberen beiden Zeilen nicht mit sortieren, da diese die Überschriften sind.
Wie muss ich dann diesen Code ändern?

Tak !!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej ven,
Her er den VBA du skal bruge:

Offentlig blnToggle As Boolean
Privat underarbejdsark_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Opdatering af Extendoffice
Dim LastColumn As Long, keyColumn As Long, Last Row As Long
Dim SortRange As Range
Sidste kolonne = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlForrige).Kolonne
keyColumn = Target.Column
Hvis keyColumn > LastColumn Afslut Sub
Application.ScreenUpdating = False
Annuller = Sandt
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
On Error Resume Next
Indstil SortRange = Target.CurrentRegion
Dim jeg så længe
i = 2
Indstil SortRange = SortRange.Offset(i, 0)
Indstil SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Ikke blnToggle
Hvis blnToggle = Sand Så
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlNo
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlNo
End If
Indstil SortRange = Ingenting
Application.ScreenUpdating = True
End Sub


Hvis du har overskrifter på 3 rækker, skal du bare ændre "i =2" til "i =3" i VBA. Håber det hjælper. Hav en god dag.

Med venlig hilsen,
Mandy
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Mandy/alle,

Er det muligt at ændre din kode til kun at sortere, når der dobbeltklikkes på overskrifterne i stedet for en hvilken som helst celle?

Mange tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
For at løse dit problem skal du anvende nedenstående kode:
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
Dim xAddress As String
Dim xRgI As Range
xAddress = "A1:E2" 'The headers
Set xRgI = Intersect(Range(xAddress), Target)
If xRgI Is Nothing Then Exit Sub
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
On Error Resume Next
Set SortRange = Target.CurrentRegion
Dim i As Long
i = 2
Set SortRange = SortRange.Offset(i, 0)
Set SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlNo
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlNo
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub



Prøv venligst, håber det kan hjælpe dig!
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL