Indholdsfortegnelse
Vejledningen viser, hvordan du hurtigt kan sortere Excel-regneark i alfabetisk rækkefølge ved hjælp af VBA-kode og værktøjet Workbook Manager.
Microsoft Excel tilbyder en række hurtige og nemme måder at arrangere kolonner eller rækker i alfabetisk rækkefølge på. Men der er kun én metode til at omarrangere regneark i Excel - træk dem til den ønskede position på fanebladets fanebar. Når det drejer sig om at alfabetisere faner i en virkelig stor arbejdsbog, kan dette være en lang og forkert måde. Leder du efter et tidsbesparende alternativ? Der findes kun to: VBA-kode.eller værktøjer fra tredjepart.
Sådan alfabetiseres faner i Excel med VBA
Nedenfor finder du tre VBA-kodeeksempler til at sortere Excel-ark opadgående, nedadgående og i begge retninger baseret på brugerens valg.
Vi antager, at du har en vis erfaring med VBA, og vi vil derfor kun beskrive de grundlæggende trin for at tilføje en makro til dit regneark:
- Tryk på Alt + F11 i din Excel-arbejdsbog for at åbne Visual Basic-editoren.
- Højreklik på i venstre rude på ThisWorkbook , og klik derefter på Indsæt > Modul .
- Indsæt VBA-koden i vinduet Kode.
- Tryk på F5 for at køre makroen.
Du kan finde en detaljeret trin-for-trin-vejledning i Sådan indsætter og kører du VBA-kode i Excel.
Tip. Hvis du vil beholde makroen til videre brug, skal du sørge for at gemme filen som en Excel-arbejdsmappe med makroaktivering (.xlsm).
Alternativt kan du downloade vores prøvearbejdsbog Alfabetisering af Excel-faner, aktivere indhold, hvis du bliver bedt om det, og køre den ønskede makro direkte derfra. Arbejdsbogen indeholder følgende makroer:
- TabsAscending - sortere arkene alfabetisk fra A til Z.
- TabsDescending - ark i omvendt rækkefølge, fra Z til A.
- AlfabetizeTabs - sortere faneblade i begge retninger, stigende eller faldende.
Når du har downloadet og åbnet prøvearbejdsbogen i Excel, skal du åbne din egen arbejdsbog, hvor du vil alfabetisere faner, trykke på Alt + F8 , vælge den ønskede makro og klikke på Kør .
Sortere Excel-faner alfabetisk fra A til Z
Denne lille makro arrangerer arkene i den aktuelle projektmappe i stigende alfanumerisk rækkefølge , først regneark, hvis navne begynder med tal, derefter regneark fra A til Z.
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 "Fanebladene er blevet sorteret fra A til Z." End SubArranger Excel-faner fra Z til A
Hvis du ønsker at sortere dine ark i faldende alfanumerisk rækkefølge (Z til A, derefter ark med numeriske navne), og brug derefter følgende kode:
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 "Tabs er blevet sorteret fra Z til A." End SubAlfabetisere faner i stigende eller faldende rækkefølge
Med denne makro kan dine brugere selv bestemme, hvordan regnearkene i en given projektmappe skal sorteres, alfabetisk fra A til Z eller i omvendt rækkefølge.
Da standarddialogboksen (MsgBox) i Excel VBA kun giver mulighed for at vælge mellem en håndfuld foruddefinerede knapper, vil vi oprette vores egen formular (UserForm) med tre brugerdefinerede knapper: Fra A til Z , Z til A , og Annuller .
Dette gøres ved at åbne Visual Basic-editoren, højreklikke på ThisWorkbook , og klik på Indsæt > UserForm . navngiv din formular SortOrderFrom , og tilføj 4 kontrolelementer til den: en etiket og tre knapper:
Tryk derefter på F7 (eller dobbeltklik på formularen) for at åbne Kode vindue og indsæt nedenstående kode der. Koden opfanger klik på knapper og tildeler et unikt tag til hver knap:
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 SubAfhængigt af, om brugeren klikker på Fra A til Z eller Z til A på din formular, sortere fanerne i stigende alfabetisk rækkefølge (valgt som standard) eller faldende alfabetisk rækkefølge; eller lukke formularen og gøre ingenting i tilfælde af Annuller Dette gøres med følgende VBA-kode, som du indsætter på den sædvanlige måde via Indsæt > 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 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 Next End Sub Function showUserForm() As Integer showUserForm = 0 Indlæs SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionHvis du ikke er så fortrolig med VBA endnu, kan du blot downloade vores Sample Workbook to Alphabetize Tabs, åbne den i Excel sammen med din egen fil, hvor du ønsker at sortere fanerne, og køre programmet AlfabetizeTabs makro fra din projektmappe:
Vælg den foretrukne sorteringsrækkefølge, f.eks, Fra A til Z , og observer resultaterne:
Tip: Med VBA kan du også oprette kopier af dine Excel-regneark. Koden findes her: Sådan kopierer du ark i Excel med VBA.
Sådan sorterer du Excel-faner alfabetisk med Ultimate Suite
Brugerne af vores Ultimate Suite for Excel behøver ikke at rode rundt med VBA - de har en multifunktionel Workbook Manager til rådighed:
Med dette værktøj tilføjet til dit Excel-bånd kan du alfabetisere faner med et enkelt klik på en enkelt knap, præcis som det skal være!
Hvis du er nysgerrig efter at udforske dette og mere end 70 andre professionelle værktøjer til Excel, kan du downloade en prøveversion af vores Ultimate Suite her.
Jeg takker for din læsning og håber at se dig på vores blog i næste uge!