Ako zoradiť pracovné hárky v programe Excel pomocou jazyka VBA (abecedne)

Ak pracujete s veľkým počtom pracovných hárkov v programe Excel, budete vedieť, že jeho správa môže byť problémom.

Keď máte viac ako pár pracovných hárkov, musíte ich usporiadať ručne.

Ako by to bolo jednoduché, keby existoval spôsob rýchleho zoradenia pracovných hárkov v programe Excel.

Aj keď neexistuje žiadny spôsob vstavanej funkcie, je to možné (ľahko) pomocou VBA.

V tomto návode vám poskytnem kód a presné kroky, ktoré musíte dodržať pri triedení pracovných hárkov v programe Excel.

Môžete upraviť kód a zoradiť pracovné hárky vzostupne alebo zostupne.

Kód VBA na triedenie pracovných hárkov v programe Excel

Nasleduje kód, ktorý zoradí pracovné hárky v abecednom poradí hneď, ako ho spustíte.

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets.Count For i = 1 To ShCount - 1 For j = i + 1 To ShCount If UCase (Sheets (j). Name) <UCase (Sheets (i) .Name) Then Sheets (j). Move into: = Sheets (i) End If Next j Next i Application.ScreenUpdating = True End Sub

Vyššie uvedený je jednoduchý kód, ktorý používa slučky For Next na analýzu každého pracovného hárka voči všetkým pracovným listom.

Porovnáva názov pracovného hárka so všetkými pracovnými hárkami a presúva ho podľa názvu v abecednom poradí.

Potom prejde na nasledujúci pracovný hárok a potom ho skontroluje podľa všetkých pracovných hárkov.

Tento postup sa opakuje pre všetky pracovné hárky a konečným výsledkom je poradie pracovného hárka zoradené v abecednom poradí.

Niekoľko dôležitých vecí, ktoré by ste o tomto kóde mali vedieť:

  1. Funkcia UCase sa používa na zabezpečenie toho, aby sa s malými a veľkými písmenami nezaobchádzalo odlišne.
  2. Hodnota Application.ScreenUpdating je na začiatku kódu nastavená na hodnotu False a na konci kódu sa zmení na True. To zaisťuje, že kým je kód spustený, nevidíte, že sa to deje na obrazovke. To tiež pomáha urýchliť spustenie kódu.

Ak chcete zoradiť pracovné hárky zostupne, stačí zmeniť iba znamienko (väčšie ako).

Nasledujúci kód by zoradil pracovné hárky zostupne:

„Tento kód zoradí pracovné listy podľa abecedy Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer ShCount = Sheets.Count For i = 1 To ShCount - 1 For j = i + 1 To ShCount If UCase (Sheets (j) .Name)> UCase (Sheets (i) .Name) Then Sheets (j). Move into: = Sheets (i) End If Next j Next i Application.ScreenUpdating = True End Sub

Užívateľovi môžete tiež dať možnosť vybrať si, či chce triediť vzostupne/zostupne.

Nasledujúci kód by zobrazil okno so správou a používateľ si môže vybrať poradie, ktoré chce zoradiť.

Sub SortWorksheetsTabs () Application.ScreenUpdating = False Dim ShCount As Integer, i As Integer, j As Integer Dim SortOrder As VbMsgBoxResult SortOrder = MsgBox ("Select Yes for Ascending Order and No for Descending Order", vbYesNoCets) ShC i = 1 To ShCount - 1 For j = i + 1 To ShCount If SortOrder = vbYes Then If UCase (Sheets (j) .Name) UCase (Sheets (i) .Name) Then Sheets (j). Move into: = Sheets (i) Koniec, ak koniec, ak budúci j Ďalší i Application.ScreenUpdating = True End Sub

Vyššie uvedený kód pri spustení zobrazuje správu, ako je uvedené nižšie. Zoradí sa na základe výberu (Áno pre vzostupne a Nie pre zostupne).

Ak kliknete na Zrušiť, kód sa zastaví a nič sa nestane.

Poznámka: Zoradenie nie je možné vrátiť späť. V prípade, že chcete zachovať aj pôvodnú objednávku, vytvorte si kópiu zošita.

Slovo opatrnosti: Vyššie uvedený kód funguje vo väčšine prípadov. Jedna z oblastí, kde vám to poskytne nesprávny výsledok, je, keď máte názvy záložiek, ako napríklad Q12021-2022, Q22021-2022, Q12021-2022, Q22021-2022. V ideálnom prípade by ste chceli, aby boli všetky karty za rovnaké roky spolu, ale nebude to tak, pretože Q12021-2022 bude umiestnená pred Q22021-2022.

Kam vložiť kód VBA

Excel má backend VBA nazývaný editor VBA.

Musíte skopírovať a vložiť kód VBA do okna kódu modulu VB Editor.

Tu sú kroky, ako to urobiť:

  1. Kliknite na kartu „Vývojár“. (Nevidíte kartu vývojára? Kliknutím sem sa dozviete, ako ho získať).
  2. Kliknite na možnosť Visual Basic. Tým sa otvorí editor VB v backende.
  3. Na table Project Explorer v editore VB kliknite pravým tlačidlom myši na ľubovoľný objekt zošita, do ktorého chcete vložiť kód. (Ak sa Project Explorer nezobrazuje, prejdite na kartu „Zobraziť“ a kliknite na „Prieskumník projektov“.)
  4. Prejdite na položku Vložiť a kliknite na modul. Tým sa vloží objekt modulu do vášho zošita.
  5. Skopírujte a prilepte kód do okna modulu.

Ako spustiť kód VBA

V programe Excel existujú rôzne spôsoby spustenia kódu VBA.

Kód môžete spustiť priamo z editora jazyka Visual Basic (tiež nazývaného editor VB).

Do pracovného hárka môžete vložiť tlačidlo alebo tvar a priradiť mu k tomu makro. Keď kliknete na tlačidlo, makro sa spustí okamžite.

Makro môžete pridať aj na panel s nástrojmi Rýchly prístup (QAT). Kedykoľvek budete musieť zoradiť karty pracovného hárka, stačí kliknúť na ikonu kódu makra v QAT.

Všetko o spustení makra si môžete prečítať tu - Ako spustiť makro v programe Excel (alebo si pozrite video nižšie).
Tiež by sa vám mohli páčiť nasledujúce návody Excel/VBA:

  • Ako zoradiť údaje v programe Excel pomocou VBA.
  • Automaticky zoradiť údaje v abecednom poradí pomocou vzorca.
  • Ako vykonať viacúrovňové triedenie údajov v programe Excel.
  • Úvod do možností triedenia údajov v Exceli.
  • Excel VBA Autofilter: Kompletný sprievodca s príkladmi
  • Ako zoskupiť pracovné listy v programe Excel
  • Ako prevrátiť údaje v programe Excel

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave