Sisällysluettelo
Ohjeessa näytetään, miten voit nopeasti lajitella Excel-työkaluja aakkosjärjestykseen käyttämällä VBA-koodia ja Työkirjan hallinta -työkalua.
Microsoft Excel tarjoaa useita nopeita ja helppoja tapoja järjestää sarakkeet tai rivit aakkosjärjestykseen. Excelissä on kuitenkin vain yksi tapa järjestää työarkit uudelleen - vetämällä ne haluttuun paikkaan arkin välilehtirivillä. Kun kyse on välilehtien aakkosjärjestyksestä todella suuressa työkirjassa, tämä voi olla pitkä ja virheellinen tapa. Etsitkö aikaa säästävää vaihtoehtoa? Niitä on vain kaksi: VBA-kooditai kolmannen osapuolen työkaluja.
Kuinka aakkostaa välilehtiä Excelissä VBA: lla
Alla on kolme VBA-koodiesimerkkiä Excel-arkkien lajittelemiseksi nousevasti, laskevasti ja kumpaankin suuntaan käyttäjän valinnan mukaan.
Olettaen, että sinulla on jonkin verran kokemusta VBA:sta, kerromme vain perusaskeleet makron lisäämiseksi työarkkiin:
- Avaa Visual Basic -editori Excel-työkirjassa painamalla Alt + F11.
- Napsauta vasemmassa ruudussa hiiren kakkospainikkeella ThisWorkbook ja napsauta sitten Lisää > Moduuli .
- Liitä VBA-koodi Koodiikkunaan.
- Suorita makro painamalla F5.
Yksityiskohtaiset vaiheittaiset ohjeet ovat kohdassa VBA-koodin lisääminen ja suorittaminen Excelissä.
Vihje: Jos haluat säilyttää makron myöhempää käyttöä varten, muista tallentaa tiedosto Excel-makroja tukevana työkirjana (.xlsm).
Vaihtoehtoisesti voit ladata esimerkin Alphabetize Excel Tabs -työkirjan, ottaa sisällön käyttöön, jos sitä pyydetään, ja suorittaa haluamasi makron suoraan sieltä. Työkirja sisältää seuraavat makrot:
- TabsAscending - lajittele arkit aakkosjärjestyksessä A:sta Z:hen.
- TabsDescending - järjestä arkit käänteisessä järjestyksessä Z:stä A:han.
- AlphabetizeTabs - lajitella arkin välilehdet molempiin suuntiin, nousevasti tai laskevasti.
Kun esimerkkityökirja on ladattu ja avattu Exceliin, avaa oma työkirjasi, jossa haluat aakkostaa välilehdet, paina Alt + F8 , valitse haluamasi makro ja napsauta sitten Suorita .
Lajittele Excel-välilehdet aakkosjärjestyksessä A:sta Z:hen
Tämä pieni makro järjestää nykyisen työkirjan arkit seuraavasti nouseva aakkosnumeerinen järjestys , ensin työlehdet, joiden nimet alkavat numeroilla, ja sitten työlehdet A:sta Z:hen.
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 "Välilehdet on lajiteltu A:sta Z:een." End SubJärjestä Excel-välilehdet Z:stä A:han
Jos haluat lajitella arkkisi aleneva aakkosnumeerinen järjestys (Z - A, sitten arkit, joissa on numeeriset nimet), käytä sitten seuraavaa koodia:
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 "Välilehdet on lajiteltu Z:sta A:han." End SubAakkostetaan välilehdet nousevaan tai laskevaan järjestykseen.
Tämän makron avulla käyttäjät voivat päättää, miten tietyn työkirjan työarkit lajitellaan: aakkosjärjestyksessä A:sta Z:hen tai päinvastaisessa järjestyksessä.
Koska Excel VBA:n vakiovalintaikkuna (MsgBox) antaa mahdollisuuden valita vain muutamasta valmiiksi määritetystä painikkeesta, luomme oman lomakkeen (UserForm), jossa on kolme mukautettua painiketta: A:sta Z:hen , Z:stä A:han ja Peruuta .
Avaa Visual Basic Editor, napsauta hiiren kakkospainikkeella ThisWorkbook ja napsauta Lisää > UserForm . Nimeä lomakkeesi SortOrderFrom ja lisää siihen 4 ohjainta: etiketti ja kolme painiketta:
Paina sitten F7 (tai kaksoisnapsauta lomaketta) avataksesi lomakkeen Koodi ja liitä sinne alla oleva koodi. Koodi havaitsee painikkeiden napsautukset ja määrittää jokaiselle painikkeelle yksilöllisen tunnisteen:
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 SubRiippuen siitä, napsauttaako käyttäjä A:sta Z:hen tai Z:stä A:han painiketta lomakkeellasi, lajittele välilehdet nousevaan aakkosjärjestykseen (oletusarvoisesti valittu) tai laskevaan aakkosjärjestykseen; tai sulje lomake ja älä tee mitään, jos kyseessä on Peruuta Tämä tehdään seuraavalla VBA-koodilla, joka lisätään tavalliseen tapaan seuraavasti Lisää > Moduuli .
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 FunctionJos et vielä hallitse VBA:ta kovin hyvin, voit yksinkertaisesti ladata esimerkkityökirjamme välilehtien aakkosjärjestykseen, avata sen Excelissä oman tiedostosi rinnalla, jossa haluat lajitella välilehtiä, ja suorittaa komennon AlphabetizeTabs makro työkirjastasi:
Valitse haluamasi lajittelujärjestys, esimerkiksi, A:sta Z:hen ja tarkkaile tuloksia:
Vinkki: VBA:n avulla voit myös luoda kopioita Excelin työarkkeista. Koodi on saatavana täältä: Excel-arkin kopioiminen VBA:n avulla.
Excel-välilehtien lajittelu aakkosjärjestyksessä Ultimate Suiten avulla
Ultimate Suite for Excel -ohjelmistomme käyttäjien ei tarvitse näpytellä VBA:n kanssa - heillä on käytössään monitoiminen Työkirjanhallinta:
Kun tämä työkalu on lisätty Excel-nauhaan, välilehtien aakkostaminen tapahtuu yhdellä painikkeen napsautuksella, juuri niin kuin sen pitäisi olla!
Jos haluat tutustua tähän ja yli 70 muuhun Excelin ammattilaistyökaluun, voit ladata Ultimate Suite -paketin kokeiluversion täältä.
Kiitän teitä lukemisesta ja toivon, että näen teidät blogissamme ensi viikolla!