Kazalo
V učbeniku je prikazano, kako lahko z uporabo kode VBA in orodja Upravitelj delovnih zvezkov hitro razvrstite Excelove delovne liste po abecednem vrstnem redu.
Microsoft Excel ponuja številne hitre in enostavne načine za urejanje stolpcev ali vrstic v abecednem vrstnem redu. Vendar obstaja samo en način za preurejanje delovnih listov v Excelu - povlecite jih na želeni položaj v vrstici zavihkov listov. Ko gre za urejanje zavihkov po abecedi v res velikem delovnem zvezku, je to lahko dolga in napačna pot. Iščete alternativo, ki bi prihranila čas? Obstajata samo dve: koda VBAali orodja tretjih oseb.
Kako razvrstiti zavihke po abecedi v Excelu z VBA
Spodaj so trije primeri kode VBA za razvrščanje Excelovih listov naraščajoče, padajoče in v obe smeri glede na uporabnikovo izbiro.
Predvidevamo, da imate nekaj izkušenj z VBA, zato bomo opisali le osnovne korake za dodajanje makra v delovni list:
- V delovnem zvezku programa Excel pritisnite kombinacijo tipk Alt + F11, da odprete urejevalnik Visual Basic.
- V levem podoknu z desno tipko miške kliknite Ta delovna knjiga in nato kliknite Vstavite > Modul .
- Kodo VBA prilepite v okno Koda.
- Za zagon makra pritisnite F5.
Za podrobna navodila po korakih glejte Kako vstaviti in zagnati kodo VBA v Excelu.
Nasvet: Če želite makro shraniti za nadaljnjo uporabo, datoteko shranite kot Excelov delovni zvezek z omogočenimi makri (.xlsm).
Prenesete lahko tudi naš vzorčni delovni zvezek Alphabetize Excel Tabs, omogočite vsebino, če se prikaže poziv, in zaženete želeni makro neposredno od tam. Delovni zvezek vsebuje naslednje makroje:
- TabsAscending - razvrstite liste po abecedi od A do Ž.
- TabsDescending - liste razvrstite v obratnem vrstnem redu, od Z do A.
- AlphabetizeTabs - razvrščanje zavihkov listov v obe smeri, naraščajoče ali padajoče.
Ko je vzorčni delovni zvezek prenesen in odprt v Excelu, odprite svoj delovni zvezek, v katerem želite razvrstiti zavihke po abecedi, pritisnite Alt + F8 , izberite želeni makro in kliknite Spustite .
Razvrstite zavihke programa Excel po abecedi od A do Ž
Ta mali makro ureja liste v trenutnem delovnem zvezku v naraščajoči alfanumerični vrstni red , najprej delovne liste, katerih imena se začnejo s številkami, nato pa liste od A do Ž.
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 Next MsgBox "Zavihki so razvrščeni od A do Z." End SubUrejanje zavihkov programa Excel od Z do A
Če želite razvrstiti liste v padajoči alfanumerični vrstni red (od Z do A, nato listi s številčnimi imeni), nato uporabite naslednjo kodo:
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 "Zavihki so razvrščeni od Z do A." End SubUvrstitev zavihkov po abecednem redu naraščajoče ali padajoče
Ta makro omogoča uporabnikom, da se odločijo, kako bodo razvrstili delovne liste v določenem delovnem zvezku, po abecedi od A do Ž ali v obratnem vrstnem redu.
Ker standardno pogovorno okno (MsgBox) v programu Excel VBA omogoča le izbiro med nekaj vnaprej določenimi gumbi, bomo ustvarili svoj obrazec (UserForm) s tremi gumbi po meri: Od A do Ž , Z v A in Prekliči .
V ta namen odprite urejevalnik Visual Basic, desno kliknite Ta delovna knjiga in kliknite Vstavite > Uporabniški obrazec . Ime vašega obrazca SortOrderFrom in ji dodajte 4 kontrolne elemente: etiketo in tri gumbe:
Nato pritisnite F7 (ali dvakrat kliknite obrazec), da odprete Koda in vanj prilepite spodnjo kodo. Koda prestreže klike na gumbe in vsakemu gumbu dodeli edinstveno oznako:
Glede na to, ali uporabnik klikne na Od A do Ž ali Z v A na obrazcu, razvrstite zavihke v naraščajočem abecednem vrstnem redu (privzeto izbrano) ali padajočem abecednem vrstnem redu; ali pa zaprite obrazec in ne storite ničesar v primeru Prekliči To storite z naslednjo kodo VBA, ki jo vstavite na običajen način prek Vstavite > 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 FunctionČe še ne znate dobro uporabljati VBA, lahko preprosto prenesete naš vzorec delovnega zvezka za razvrščanje zavihkov po abecedi, ga odprete v Excelu poleg svoje datoteke, v kateri želite razvrstiti zavihke, in zaženete AlphabetizeTabs makro iz delovnega zvezka:
Izberite želeni vrstni red, na primer, Od A do Ž in opazujte rezultate:
Nasvet: Z VBA lahko ustvarite tudi kopije delovnih listov Excel-a. Koda je na voljo tukaj: Kako podvojiti list v Excelu z VBA.
Kako razvrstiti zavihke programa Excel po abecedi s programom Ultimate Suite
Uporabnikom našega paketa Ultimate Suite za Excel se ni treba ukvarjati z VBA - na voljo jim je večnamenski upravitelj delovnih zvezkov:
S tem orodjem, dodanim na trak programa Excel, je razvrščanje zavihkov po abecedi izvedeno z enim samim klikom na gumb, točno tako, kot bi moralo biti!
Če želite raziskati ta in še več kot 70 drugih profesionalnih orodij za Excel, lahko preizkusno različico našega paketa Ultimate Suite prenesete tukaj.
Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!