Immer wieder kann es vorkommen, dass man alle Arbeitsblätter in einer Excel-Arbeitsmappe alphabetisch aufsteigend oder absteigend sortieren muss.
Folgender Code erledigt dies in Windeseile. Einfach aufrufen! Fertig!
Ohne Parameter werden die Arbeitsblätter aufsteigend sortiert. Mit dem optionalen Parameter kann man die Arbeitsblätter auch absteigend sortieren lassen (also durch den Aufruf von „SortSheets False“)
Sub SortSheets(Optional bSortASC As Boolean = True) Dim i As Integer Dim j As Integer For i = 1 To Sheets.Count For j = 1 To Sheets.Count - 1 If bSortASC Then If LCase(Sheets(j).Name) > LCase(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If Else If LCase(Sheets(j).Name) < LCase(Sheets(j + 1).Name) Then Sheets(j + 1).Move Before:=Sheets(j) End If End If Next j Next i End Sub