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

Kako razvrstiti podatke stolpcev s klikom na glavo v Excelu?

Recimo, da imam vrsto podatkov, bi zdaj želel podatke razvrstiti v naraščajočem ali padajočem vrstnem redu s klikom na katero koli glavo stolpca, da se prikaže naslednji posnetek zaslona. Kako ste lahko rešili to nalogo v Excelu?

doc razvrstite s klikom 1

Razvrstite podatke s klikom na glavo stolpca s kodo VBA


puščica modri desni mehurček Razvrstite podatke s klikom na glavo stolpca s kodo VBA

Običajno lahko v Excelu uporabite funkcijo za razvrščanje, da hitro in enostavno razvrstite podatke, če pa želite podatke razvrstiti s klikom na celico, vam lahko z naslednjo kodo VBA naredite uslugo.

1. Z desno miškino tipko kliknite jeziček lista, za katerega želite razvrstiti podatke, tako da kliknete celico, in izberite Ogled kode v priročnem meniju in v odprtem Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite naslednjo kodo v prazen modul:

Koda VBA: Razvrstite podatke s klikom na glavo celice ali stolpca:

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 razvrstite s klikom 2

2. Nato shranite in zaprite okno kode. Ko dvokliknete katero koli glavo celice ali stolpca v obsegu podatkov, bo stolpec razvrščen po naraščajočem vrstnem redu, če ga znova kliknete, pa bo stolpec razvrščen padajoče hkrati.


Več povezanih člankov:

Kako spremeniti vrednost celice s klikom na celico?

Kako filtrirati podatke samo s klikom na vsebino celice v Excelu?


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (8)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Deluje v redu za vzpon, dvakrat kliknite drugič, kot je navedeno za spust, nič ne naredi
Ta komentar je moderator na spletnem mestu minimiziral
Ne deluje, nič se ne zgodi, vem, kako ustvariti modul v vba, naredil to, shranjeno in nič ob dvojnem kliku na glavo. Prosim popravi.
Ta komentar je moderator na spletnem mestu minimiziral
Ne morem narediti crackerjack - ne delaj
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Rob, zgornja koda dobro deluje v mojem Excelu, ali lahko tukaj daš posnetek zaslona svoje težave?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni,
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?

Najlepša hvala!!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljen, prijatelj,
Tukaj je VBA, ki ga potrebujete:

Javni blnToggle Kot Boolean
Zasebni pod delovni list_BeforeDoubleClick _
(ByVal cilj kot obseg, preklic kot logična vrednost)
'Posodobitev Extendoffice
Zatemni zadnji stolpec tako dolgo, keyColumn kot dolg, zadnja vrstica tako dolgo
Dim SortRange kot obseg
Zadnji stolpec = _
Celice.Najdi(Kaj:="*", Po:=Razpon("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Stolpec
keyColumn = Target. Column
Če je keyColumn > LastColumn, potem zapustite pod
Application.ScreenUpdating = Napačno
Prekliči = Res
Zadnja vrstica = celice (vrstic. Število, ključni stolpec). Konec (xlUp). Vrstica
On Error Resume Next
Nastavite SortRange = Target.CurrentRegion
Dim i as Long
i = 2
Nastavi SortRange = SortRange.Offset(i, 0)
Nastavi SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Ni blnToggle
Če je blnToggle = True, potem
SortRange.Sort _
Ključ1:=Celice(2, ključni stolpec), Order1:=xlNaraščajoče, Glava:=xlNo
Else
SortRange.Sort _
Ključ1:=Celice(2, ključni stolpec), vrstni red1:=xl padajoče, glava:=xlNo
Konec Če
Nastavite SortRange = Nič
Application.ScreenUpdating = Res
End Sub


Če imate glave 3 vrstic, samo spremenite "i =2" v "i =3" v VBA. Upam, da pomaga. Imej lep dan.

S spoštovanjem,
Mandy
Ta komentar je moderator na spletnem mestu minimiziral
Hi Mandy/all,

Is it possible to change your code to only sort when the headers are double clicked instead of any cell?

Najlepša hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,
Če želite rešiti težavo, uporabite spodnjo kodo:
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



Prosimo, poskusite, upam, da vam bo pomagalo!
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL