Obsah
Tento návod ukazuje, ako môžete rýchlo zoradiť pracovné hárky programu Excel v abecednom poradí pomocou kódu VBA a nástroja Správca zošitov.
Microsoft Excel poskytuje niekoľko rýchlych a jednoduchých spôsobov, ako usporiadať stĺpce alebo riadky v abecednom poradí. Existuje však len jeden spôsob, ako zmeniť usporiadanie hárkov v programe Excel - pretiahnuť ich na požadovanú pozíciu na páse kariet hárkov. Keď ide o abecedné usporiadanie kariet v naozaj veľkom zošite, môže to byť dlhá a chybná cesta. Hľadáte alternatívu, ktorá by ušetrila čas? Existujú len dve: kód VBAalebo nástroje tretích strán.
Ako abecedne zoradiť karty v programe Excel pomocou VBA
Nižšie nájdete tri príklady kódu VBA na zoradenie hárkov programu Excel vzostupne, zostupne a v oboch smeroch podľa výberu používateľa.
Predpokladá sa, že máte určité skúsenosti s VBA, preto uvedieme len základné kroky na pridanie makra do pracovného hárka:
- V zošite programu Excel stlačte klávesovú skratku Alt + F11, čím otvoríte editor jazyka Visual Basic.
- Na ľavom paneli kliknite pravým tlačidlom myši na Tento pracovný zošit a potom kliknite na tlačidlo Vložte > Modul .
- Vložte kód VBA do okna Kód.
- Stlačením klávesy F5 spustíte makro.
Podrobné pokyny krok za krokom nájdete v časti Ako vložiť a spustiť kód VBA v programe Excel.
Tip. Ak chcete makro uchovať na ďalšie použitie, nezabudnite súbor uložiť ako zošit Excel s podporou makier (.xlsm).
Prípadne si môžete stiahnuť náš vzorový zošit Abeceda kariet Excelu, v prípade výzvy povoliť obsah a spustiť požadované makro priamo odtiaľ. Zošit obsahuje nasledujúce makrá:
- TabsAscending - zoradiť listy podľa abecedy od A po Z.
- TabsDescending - usporiadajte listy v opačnom poradí, od Z po A.
- AlphabetizeTabs - zoradiť karty hárkov v oboch smeroch, vzostupne alebo zostupne.
Po stiahnutí vzorového zošita a jeho otvorení v programe Excel otvorte vlastný zošit, v ktorom chcete zoradiť karty podľa abecedy, stlačte klávesovú skratku Alt + F8 , vyberte požadované makro a kliknite na tlačidlo Spustiť .
Zoradenie kariet aplikácie Excel podľa abecedy od A po Z
Toto malé makro usporiada hárky v aktuálnom zošite do vzostupné alfanumerické poradie , najprv pracovné listy, ktorých názvy začínajú číslami, potom listy od A po Z.
Sub TabsAscending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name)> UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "Karty boli zoradené od A po Z." End SubUsporiadanie kariet aplikácie Excel od Z po A
Ak chcete triediť hárky v zostupné alfanumerické poradie (Z až A, potom listy s číselnými názvami), potom použite nasledujúci kód:
Sub TabsDescending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) <UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Karty boli zoradené od Z po A." End SubZoradenie kariet podľa abecedy vzostupne alebo zostupne
Toto makro umožňuje používateľom rozhodnúť, ako sa majú zoradiť pracovné hárky v danom zošite, či abecedne od A po Z alebo v opačnom poradí.
Keďže štandardné dialógové okno (MsgBox) v programe Excel VBA umožňuje výber len z niekoľkých preddefinovaných tlačidiel, vytvoríme si vlastný formulár (UserForm) s tromi vlastnými tlačidlami: Od A po Z , Z do A a Zrušiť .
Na tento účel otvorte editor jazyka Visual Basic, kliknite pravým tlačidlom myši na Tento pracovný zošit a kliknite na tlačidlo Vložte > Používateľský formulár . pomenujte svoj formulár SortOrderFrom a pridajte k nemu 4 ovládacie prvky: štítok a tri tlačidlá:
Potom stlačte kláves F7 (alebo dvakrát kliknite na formulár), aby ste otvorili Kód a vložte doň nasledujúci kód. Kód zachytáva kliknutia na tlačidlo a každému tlačidlu priraďuje jedinečnú značku:
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click() Me.Tag = 0 Me.Hide End SubV závislosti od toho, či používateľ klikne na Od A po Z alebo Z do A na formulári, zoradiť karty vo vzostupnom abecednom poradí (predvolene zvolené) alebo v zostupnom abecednom poradí; alebo zatvoriť formulár a nerobiť nič v prípade Zrušiť Toto sa vykonáva pomocou nasledujúceho kódu VBA, ktorý vložíte obvyklým spôsobom prostredníctvom Vložte > Modul .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name)> UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name)<UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Load SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionAk si s VBA ešte veľmi nerozumiete, môžete si jednoducho stiahnuť náš vzorový zošit na zoradenie kariet podľa abecedy, otvoriť ho v programe Excel spolu s vlastným súborom, v ktorom chcete zoradiť karty, a spustiť AlphabetizeTabs makro z vášho zošita:
Vyberte preferované poradie triedenia, napríklad, Od A po Z a pozorujte výsledky:
Tip. Pomocou VBA môžete tiež vytvárať kópie pracovných hárkov programu Excel. Kód je k dispozícii tu: Ako duplikovať hárok v programe Excel pomocou VBA.
Ako zoradiť karty aplikácie Excel podľa abecedy pomocou balíka Ultimate Suite
Používatelia nášho balíka Ultimate Suite pre Excel sa nemusia zaoberať VBA - majú k dispozícii multifunkčného správcu zošitov:
S týmto nástrojom pridaným na pásku aplikácie Excel sa abecedné zoradenie kariet vykonáva jediným kliknutím na tlačidlo, presne tak, ako by to malo byť!
Ak máte záujem preskúmať tieto a viac ako 70 ďalších profesionálnych nástrojov pre Excel, skúšobná verzia nášho balíka Ultimate Suite je k dispozícii na stiahnutie tu.
Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!