Innholdsfortegnelse
Opplæringen viser hvordan du raskt kan sortere Excel-regneark i alfabetisk rekkefølge ved å bruke VBA-kode og Workbook Manager-verktøyet.
Microsoft Excel tilbyr en rekke raske og enkle måter å ordne kolonner eller rader i alfabetisk rekkefølge. Men det er bare én metode for å omorganisere regneark i Excel - dra dem til ønsket posisjon på arkfanelinjen. Når det gjelder alfabetisering av faner i en virkelig stor arbeidsbok, kan dette være en lang og feilaktig måte. Leter du etter et tidsbesparende alternativ? Det finnes bare to: VBA-kode eller tredjepartsverktøy.
Hvordan alfabetisere faner i Excel med VBA
Nedenfor finner du tre VBA-kodeeksempler for å sortere Excel ark stigende, synkende og i begge retninger basert på brukerens valg.
Vi antyder at du har litt erfaring med VBA, og vi vil bare skissere de grunnleggende trinnene for å legge til en makro i regnearket ditt:
- I Excel-arbeidsboken, trykk Alt + F11 for å åpne Visual Basic Editor.
- I venstre rute, høyreklikk ThisWorkbook , og klikk deretter Sett inn > Modul .
- Lim inn VBA-koden i kodevinduet.
- Trykk F5 for å kjøre makroen.
For de detaljerte trinnvise instruksjonene, se Hvordan sette inn og kjøre VBA-kode i Excel.
Tips. Hvis du vil beholde makroen for videre bruk, må du huske å lagre filen som en Excel-makroaktivert arbeidsbok (.xlsm).
Alternativt kan du laste ned eksempelarbeidsboken Alphabetize Excel Tabs, aktivere innhold hvis du blir bedt om det, og kjøre ønsket makro direkte derfra. Arbeidsboken inneholder følgende makroer:
- TabsAscending - sorter ark alfabetisk fra A til Å.
- TabsDescending - ordne arkene i omvendt rekkefølge, fra Z til A.
- Alphabetize Tabs - sorter arkfaner i begge retninger, stigende eller synkende.
Med eksempelarbeidsboken lastet ned og åpen i din Excel, åpne din egen arbeidsbok der du vil alfabetisere faner, trykk Alt + F8 , velg ønsket makro, og klikk Kjør .
Sorter Excel-faner alfabetisk fra A til Å
Denne lille makroen arrangerer arkene i gjeldende arbeidsbok i stigende alfanumerisk rekkefølge , først regneark hvis navn starter med tall, deretter ark fra A til Å.
Sub TabsAscending() For i = 1 Til Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 Hvis UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Flytt etter:=Sheets(j + 1) End If Next Next MsgBox "Fanene har blitt sortert fra A til Å." End SubArranger Excel-faner fra Z til A
Hvis du vil sortere arkene dine i synkende alfanumerisk rekkefølge (Z til A, deretter ark med numeriske navn), bruk deretter følgende kode:
Sub TabsDescending() For i = 1 ToApplication.Sheets.Count For j = 1 To Application.Sheets.Count - 1 Hvis 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 "Fanene har blitt sortert fra Z til A. " End SubAlfabetiser faner stigende eller synkende
Denne makroen lar brukerne dine bestemme hvordan de skal sortere regneark i en gitt arbeidsbok, alfabetisk fra A til Å eller i motsatt rekkefølge.
Siden standard dialogboks (MsgBox) i Excel VBA tillater kun å velge fra en håndfull forhåndsdefinerte knapper, vi vil lage vårt eget skjema (UserForm) med tre egendefinerte knapper: A til Z , Z til A og Avbryt .
For dette, åpne Visual Basic Editor, høyreklikk ThisWorkbook og klikk Sett inn > Brukerskjema . Gi skjemaet et navn SortOrderFrom , og legg til 4 kontroller til det: en etikett og tre knapper:
Deretter trykker du på F7 (eller dobbeltklikker på skjemaet ) for å åpne vinduet Kode og lim inn koden nedenfor der. Koden avskjærer knappeklikk og tildeler en unik kode til hver knapp:
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 SubAvhengig av om brukeren klikker A til Å eller Z til A -knappen på skjemaet ditt, sorterer du faner istigende alfabetisk rekkefølge (valgt som standard) eller synkende alfabetisk rekkefølge; eller lukk skjemaet og ikke gjør noe i tilfelle Avbryt . Dette gjøres med følgende VBA-kode, som du setter inn på vanlig måte via Insert > Module .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Deretter Avslutt Sub For x = 1 Til Application.Sheets.Count For y = 1 Til Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name) > UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Flytt etter:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name) < UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Flytt etter:=Sheets(y + 1) End If End If Next Next End Underfunksjon showUserForm() Som heltall showUserForm = 0 Last inn SortOrderForm SortOrderForm .Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm SluttfunksjonHvis du ikke er veldig komfortabel med VBA ennå, kan du ganske enkelt laste ned vår prøvearbeidsbok for å alfabetisere faner, åpne den i Excel ved siden av din egen fil der du vil for å sortere faner, og kjøre makroen AlphabetizeTabs fra arbeidsboken din:
Velg den foretrukne sorteringsrekkefølgen, for eksempel A til Å , og observer resultatene:
Tips. Med VBA kan du også lage kopier av Excel-regnearkene dine. Koden er tilgjengelig her: Hvordanduplikatark i Excel med VBA.
Hvordan sortere Excel-faner alfabetisk med Ultimate Suite
Brukerne av Ultimate Suite for Excel trenger ikke å fikle med VBA – de har en multi -funksjonell Workbook Manager til deres disposisjon:
Med dette verktøyet lagt til Excel-båndet ditt, alfabetiseres faner med et enkelt knappeklikk, akkurat som det skal være!
Hvis du er nysgjerrig på å utforske dette og 70+ flere profesjonelle verktøy for Excel, er en prøveversjon av Ultimate Suite tilgjengelig for nedlasting her.
Jeg takker du for å lese og håper å se deg på bloggen vår neste uke!