Diese Anleitung wurde getestet mit:
  • Excel 2007
  • Excel 2010

Folgender VBA-Code hilft Tabellenblätter innerhalb einer Excel-Arbeitsmappe alphabetisch zu sortieren.

Sub tabellenblaetterSortieren()

 Dim countWs, i, j As Integer

 ' Anzahl der vorhandenen Tabellenblätter zählen. Wird benötigt
 ' um die Anzahl der Schleifendurchläufen zu definieren
 countWs = ActiveWorkbook.Worksheets.Count

 ' Verschachtelte Schleife - Vergleicht Tabellenblatt(i) nacheinander mit
 ' Tabellenblättern(j) und verschiebt Tabellenblatt(j) vor
 ' Tabellenblatt(i) wenn dessen Name im Alphabet zuvor vorkommt
 For i = 1 To countWs
 For j = i To countWs
 ' Mit Funktion LCase den Tabellenblatt-Name in Kleinbuchstaben umwandeln,
 ' da Tabellenblätter mit Groß- und Kleinbuchstaben ansonsten falsch sortiert werden
 If LCase(Worksheets(j).Name) < LCase(Worksheets(i).Name) Then
 Worksheets(j).Move Before:=Worksheets(i)
 End If
 Next j
 Next i

End Sub

Der oben aufgeführte VBA-Code sortiert die einzelnen Tabellenblätter der Excel-Mappe alphabetisch aufsteigend. Um die Tabellenblätter alphabetisch absteigend zu sortieren reicht es das Vergleichszeichen (“<” nach “>“) in Zeile 16 zu verändern.

If LCase(Worksheets(i).Name) > LCase(Worksheets(j).Name) Then

Wie man ein Makro erstellt bzw. den oben abgebildeten VBA-Code nutzen kann wird hier erklärt. → Ein Makro mittels VBA in Excel erstellen und ausführen

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>