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

Jak třídit data sloupců kliknutím na záhlaví v aplikaci Excel?

Předpokládejme, že mám řadu dat, nyní bych chtěl data seřadit vzestupně nebo sestupně kliknutím na záhlaví libovolného sloupce a zobrazit následující snímek obrazovky. Jak byste mohli vyřešit tuto práci v aplikaci Excel?

třídění dokumentů kliknutím 1

Řazení dat kliknutím na záhlaví sloupce s kódem VBA


šipka modrá pravá bublina Řazení dat kliknutím na záhlaví sloupce s kódem VBA

Za normálních okolností můžete v aplikaci Excel použít funkci řazení k rychlému a snadnému řazení dat, ale pokud chcete data seřadit pouhým kliknutím na buňku, můžete si udělat laskavost pomocí následujícího kódu VBA.

1. Klikněte pravým tlačítkem na kartu listu, kterou chcete seřadit data, kliknutím na buňku a vyberte Zobrazit kód z kontextového menu a v otevřeném Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte následující kód do prázdného modulu:

Kód VBA: Seřadit data kliknutím na záhlaví buňky nebo sloupce:

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

třídění dokumentů kliknutím 2

2. A poté uložte a zavřete okno s kódem, nyní, když dvakrát kliknete na záhlaví buňky nebo sloupce v rámci rozsahu dat, sloupec bude seřazen vzestupně, pokud na něj dvakrát kliknete, sloupec bude seřazen sestupně najednou.


Další související články:

Jak změnit hodnotu buňky kliknutím na buňku?

Jak filtrovat data pouhým kliknutím na obsah buňky v aplikaci Excel?


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (7)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Vzestup funguje dobře, dvakrát klikněte dvakrát, jak je uvedeno pro sestup, nedělá nic
Tento komentář byl moderátorem webu minimalizován
Nefunguje, nic se neděje, vím, jak vytvořit modul ve vba, udělal to, uložil a po dvojitém kliknutí na záhlaví nic. Prosím opravte to.
Tento komentář byl moderátorem webu minimalizován
Žádný nemůže dělat crackerjack - nefunguje
Tento komentář byl moderátorem webu minimalizován
Ahoj, Robe, výše uvedený kód funguje dobře v mém Excelu, můžeš sem dát svůj problém?
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
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?

Děkuji vám!
Tento komentář byl moderátorem webu minimalizován
Hello friend,
Zde je VBA, které potřebujete:

Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Aktualizovat Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
Poslední sloupec = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
Pokud keyColumn > LastColumn, pak Exit Sub
Application.ScreenUpdating = False
Zrušit = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
On Error Resume Next
Nastavte SortRange = Target.CurrentRegion
Dim i tak dlouho
i = 2
Set SortRange = SortRange.Offset(i, 0)
Set SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Není blnToggle
Pokud blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlNo
Jiný
SortRange.Sort _
Klíč1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlNo
End If
Nastavte SortRange = Nic
Application.ScreenUpdating = True
End Sub


Pokud máte záhlaví 3 řádků, změňte ve VBA „i =2“ na „i =3“. Doufám, že to pomůže. Přeji krásný den.

S pozdravem,
Mandy
Tento komentář byl moderátorem webu minimalizován
Ahoj Mandy/všichni,

Je možné změnit váš kód tak, aby se řadil pouze při dvojitém kliknutí na záhlaví namísto libovolné buňky?

Děkuji moc!
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL