Sisukord
Õpetus näitab, kuidas saate Exceli töölehed kiiresti tähestikulises järjekorras sorteerida, kasutades VBA-koodi ja tööriista Workbook Manager.
Microsoft Excel pakub mitmeid kiireid ja lihtsaid viise veergude või ridade paigutamiseks tähestikulises järjekorras. Kuid Exceli töölehtede ümberpaigutamiseks on ainult üks meetod - lohistada need soovitud positsioonile lehe vahekaardiribal. Kui tegemist on tõesti suure töövihiku vahekaartide tähestikulise paigutamisega, võib see olla pikk ja ekslik viis. Otsite aega säästvat alternatiivi? On olemas ainult kaks: VBA-koodiga.või kolmanda osapoole tööriistad.
Kuidas Exceli vahelehti VBA abil tähestikku muuta
Allpool leiate kolm VBA-koodi näidet Exceli lehtede sorteerimiseks ülespoole, allapoole ja mõlemas suunas vastavalt kasutaja valikule.
Eeldades, et teil on VBAga juba mõningaid kogemusi, kirjeldame vaid põhilisi samme makro lisamiseks töölehele:
- Vajutage Exceli töövihikus Alt + F11, et avada Visual Basic Editor.
- Klõpsake vasakul paanil paremklõpsuga ThisWorkbook ja seejärel klõpsake Sisesta > Moodul .
- Sisestage VBA-kood kood aknas Kood.
- Makro käivitamiseks vajutage F5.
Üksikasjalikud samm-sammulised juhised leiate jaotisest Kuidas sisestada ja käivitada VBA-koodi Excelis.
Vihje. Kui soovite makrot edasiseks kasutamiseks säilitada, salvestage oma fail kindlasti Exceli makrotoimingutega töövihikuna (.xlsm).
Alternatiivina saate alla laadida meie Exceli vahekaartide tähestikulise määramise töövihiku näidise, lubada sisu, kui seda küsitakse, ja käivitada soovitud makro otse sealt. Töövihik sisaldab järgmisi makrosid:
- TabsAscending - sorteerida lehed tähestikuliselt A-st Z-ni.
- TabsDescending - paigutage lehed vastupidises järjekorras, Z-st A-sse.
- AlphabetizeTabs - sorteerida lehe vahekaardid mõlemas suunas, kas tõusvas või kahanevas suunas.
Kui näidistööraamat on alla laaditud ja avatud Excelis, avage omaenda töövihik, kus soovite vahekaardid tähestikku paigutada, vajutage Alt + F8 , valige soovitud makro ja klõpsake nuppu Käivita .
Exceli vahekaartide sorteerimine tähestikuliselt A-st Z-ni
See väike makro paigutab praeguse töövihiku lehed järgmiselt. kasvav tähtnumbriline järjestus , kõigepealt töölehed, mille nimed algavad numbritega, seejärel lehed A-st Z-ni.
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 "Registrid on sorteeritud A-st Z-ni." End SubExceli vahekaartide paigutamine Z-st A-sse
Kui soovite sorteerida oma lehed kahanevas tähtnumbrilises järjekorras (Z kuni A, seejärel lehed numbriliste nimedega), siis kasutage järgmist koodi:
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 Next MsgBox "Registrid on sorteeritud Z-st A-sse." End SubTabulaatorite tähestikuline järjestamine kasvavalt või kahanevalt
See makro võimaldab kasutajatel otsustada, kuidas antud töövihikus olevaid töölehti sorteerida, kas tähestikuliselt A-st Z-ni või vastupidises järjekorras.
Kuna Exceli VBA standardne dialoogiboks (MsgBox) võimaldab valida ainult mõnede ettemääratud nuppude vahel, loome oma vormi (UserForm) kolme kohandatud nupuga: A-st Z-ni , Z-st A-sse ja Tühista .
Selleks avage Visual Basic'i redaktor, tehke paremklõps parempoolse hiirega ThisWorkbook ja klõpsake Sisesta > UserForm . Nimetage oma vorm SortOrderFrom ja lisage sellele 4 juhtelementi: silt ja kolm nuppu:
Seejärel vajutage F7 (või tehke topeltklõps vormil), et avada vormile Kood aknas ja kleebige sinna alljärgnev kood. Kood püüab nupuklikke ja määrab igale nupule unikaalse sildi:
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 SubSõltuvalt sellest, kas kasutaja klõpsab A-st Z-ni või Z-st A-sse nuppu oma vormil, sorteerida vahekaardid kasvavas tähestikulises järjekorras (vaikimisi valitud) või kahanevas tähestikulises järjekorras; või sulgeda vorm ja mitte midagi teha juhul, kui Tühista Seda tehakse järgmise VBA-koodiga, mille sisestate tavapärasel viisil läbi Sisesta > Moodul .
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 FunctionKui te ei ole VBAga veel väga hästi kursis, võite lihtsalt alla laadida meie näidistöövihiku vahekaartide tähestikuliseks muutmiseks, avada selle oma Excelis koos omaenda failiga, kus soovite vahekaarte sorteerida, ja käivitada programmi AlphabetizeTabs makro oma töövihikust:
Valige eelistatud sorteerimisjärjekord, näiteks, A-st Z-ni ja jälgige tulemusi:
Vihje. VBA abil saate luua ka koopiaid oma Exceli töölehtedest. Kood on saadaval siin: Kuidas dubleerida lehte Excelis VBA abil.
Kuidas sorteerida Exceli vahekaardid tähestikuliselt Ultimate Suite'iga
Meie Ultimate Suite for Exceli kasutajad ei pea VBAga näpistama - nende käsutuses on multifunktsionaalne Workbook Manager:
Kui see tööriist on lisatud Exceli lintidele, saab vahekaartide tähestikku määrata ühe nupuvajutusega, täpselt nii, nagu see peaks olema!
Kui olete uudishimulik, et uurida seda ja veel 70 professionaalset tööriista Exceli jaoks, saate meie Ultimate Suite'i prooviversiooni alla laadida siit.
Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!