Sadržaj
Vodič pokazuje kako možete brzo sortirati Excel radne listove po abecednom redu pomoću VBA koda i alata Workbook Manager.
Microsoft Excel pruža brojne brze i jednostavne načine za organiziranje kolone ili redove po abecednom redu. Ali postoji samo jedan način za preuređivanje radnih listova u Excelu - prevucite ih na željenu poziciju na traci s karticama lista. Kada je u pitanju postavljanje kartica po abecednom redu u zaista velikoj radnoj svesci, ovo može biti dug i pogrešan način. Tražite alternativu koja štedi vrijeme? Postoje samo dva: VBA kod ili alati treće strane.
Kako abecedno rasporediti kartice u Excelu pomoću VBA
U nastavku ćete pronaći tri primjera VBA koda za sortiranje Excela listovi uzlazno, silazno iu bilo kojem smjeru na osnovu odabira korisnika.
Implicirajući da imate iskustva s VBA, samo ćemo opisati osnovne korake za dodavanje makrona vašem radnom listu:
- U Excel radnoj svesci pritisnite Alt + F11 da otvorite Visual Basic Editor.
- U lijevom oknu kliknite desnim tasterom miša na Ova radna sveska , a zatim kliknite na Insert > Module .
- Zalijepite VBA kod u prozor koda.
- Pritisnite F5 da pokrenete makro.
Za detaljne upute korak po korak, pogledajte Kako umetnuti i pokrenuti VBA kod u Excelu.
Savjet. Ako želite da sačuvate makro za dalju upotrebu, obavezno sačuvajte datoteku kao Excel radnu svesku (.xlsm) sa omogućenim makroima.
Alternativno, možete preuzeti našu radnu svesku Alphabetize Excel Tabs, omogućiti sadržaj ako se to od vas zatraži i pokrenuti željeni makro direktno odatle. Radna knjiga sadrži sljedeće makroe:
- TabsAscending - sortiraj listove po abecedi od A do Z.
- TabsDescending - rasporedi listove u obrnutim redoslijedom, od Z do A.
- AlphabetizeTabs - sortirajte kartice listova u oba smjera, uzlazno ili opadajuće.
Sa uzorkom radne knjige preuzet i otvoren u svoj Excel, otvorite sopstvenu radnu svesku u kojoj želite da rasporedite kartice po abecednom redu, pritisnite Alt + F8 , izaberite željeni makro i kliknite Run .
Sortirajte Excel kartice po abecednom redu od A do Z
Ovaj mali makro raspoređuje listove u trenutnoj radnoj knjizi u uzlaznom alfanumeričkom redoslijedu , prvo radne listove čija imena počinju brojevima, a zatim listove od A do Z.
PodkarticeAscending() Za i = 1 Za Application.Sheets.Count Za j = 1 Za Application.Sheets.Count - 1 Ako UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Zatim Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "Kartice su sortirane od A do Z." End SubRasporedite Excel kartice od Z do A
Ako želite sortirati svoje listove silaznim alfanumeričkim redoslijedom (Z do A, zatim listovi s numeričkim imenima), tada koristite sljedeći kod:
SubkarticeDescending() Za i = 1 DoApplication.Sheets.Count Za j = 1 Za Application.Sheets.Count - 1 Ako UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Zatim Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Kartice su sortirane od Z do A. " End SubPoredajte kartice uzlazno ili opadajuće po abecednom redu
Ovaj makro omogućava vašim korisnicima da odluče kako sortirati radne listove u datoj radnoj knjizi, abecednim redom od A do Z ili obrnutim redoslijedom.
Od standardni dijaloški okvir (MsgBox) u Excel VBA dozvoljava samo biranje između nekoliko unaprijed definiranih dugmadi, kreirat ćemo vlastiti obrazac (UserForm) sa tri prilagođena gumba: A do Z , Z do A i Otkaži .
Za ovo otvorite Visual Basic Editor, kliknite desnim tasterom miša na Ova radna sveska i kliknite na Insert > Korisnički obrazac . Imenujte svoj obrazac SortOrderFrom i dodajte mu 4 kontrole: oznaku i tri gumba:
Sljedeće pritisnite F7 (ili dvaput kliknite na obrazac ) da otvorite prozor Kôd i tamo zalijepite donji kod. Kod presreće klikove na dugme i svakom dugmetu dodeljuje jedinstvenu oznaku:
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 SubU zavisnosti od toga da li korisnik klikne na dugme A do Z ili Z do A na vašem obrascu, sortirajte kartice urastući abecedni red (podrazumevano odabran) ili silazni abecedni red; ili zatvorite obrazac i ne radite ništa u slučaju Otkaži . Ovo se radi sa sledećim VBA kodom, koji ubacujete na uobičajen način preko Insert > Module .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Zatim izađi iz Sub Za x = 1 Na Application.Sheets.Count Za y = 1 Na Application.Sheets.Count - 1 Ako je SortOrder = 1 Onda Ako UCase$(Application.Sheets(y).Name) > UCase$(Application.Sheets(y + 1).Name) Zatim Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Zatim Ako UCase$(Application.Sheets(y).Name) < UCase$(Application.Sheets(y + 1).Name) Zatim Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Podfunkcija showUserForm() Kao cijeli broj showUserForm = 0 Učitaj SortOrderForm SortOrderForm .Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionAko još niste zadovoljni VBA, možete jednostavno preuzeti našu Uzorak radne sveske za abecedno postavljanje kartica, otvorite je u svom Excel-u zajedno sa svojom datotekom gdje želite za sortiranje kartica i pokrenite makro AlphabetizeTabs iz vaše radne knjige:
Odaberite željeni redoslijed sortiranja, recimo, A do Z i promatrajte rezultate:
Savjet. Pomoću VBA možete kreirati i kopije vaših Excel radnih listova. Kod je dostupan ovdje: Kakodupli list u Excelu sa VBA.
Kako sortirati Excel kartice po abecednom redu sa Ultimate Suite
Korisnici našeg Ultimate Suite for Excel ne moraju petljati okolo sa VBA - oni imaju više -funkcionalni Workbook Manager koji im je na raspolaganju:
Sa ovim alatom dodatim na vašu Excel traku, abecedno postavljanje kartica se vrši jednim klikom na dugme, tačno onako kako bi trebalo da bude!
Ako ste radoznali da istražite ovo i 70+ više profesionalnih alata za Excel, ovdje je dostupna probna verzija našeg Ultimate Suite-a za preuzimanje.
Zahvaljujem Vama na čitanju i nadamo se da se vidimo na našem blogu sljedeće sedmice!