[Eine Seite zurück] [Übersicht] [Eine Seite vor]

Benutzung auf eigene Gefahr !
Keine Garantie für garnichts !

Blätter in Excel alphabetisch sortieren

Sprache / Programm: Excel ab Version 97
Beschreibung

Das Makro sortiert alle Blätter nach ihrem Namen in aufsteigender Reihenfolge.

VBA-Quelltext
Public Sub BlätterSortieren(Optional DiagrammeTrennen As Boolean = True, Optional Auswahl As Boolean = False)
    Dim Liste As Object, Nr As Integer, AlleBlätter As Object
   
    If ActiveWorkbook.ProtectStructure Then
        MsgBox "Bearbeitung geschützter Arbeitsmappen nicht möglich", vbOKOnly + vbCritical, "Fehler"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    If Auswahl Then Set AlleBlätter = ActiveWindow.SelectedSheets Else Set AlleBlätter = ActiveWorkbook.Sheets

    Set Liste = Workbooks.Add(xlWorksheet).ActiveSheet
    Liste.[B1].Activate
    ' Liste mit Blatnamen und Blattypen erstellen
    For Nr = 1 To AlleBlätter.Count
        Select Case TypeName(AlleBlätter(Nr))
            Case "Worksheet":  Cells(Nr, 2) = IIf(AlleBlätter(Nr).Type = xlWorksheet, 1, 4)
            Case "Chart":      Cells(Nr, 2) = IIf(DiagrammeTrennen, 2, 1)
            Case "Module":      Cells(Nr, 2) = 3
            Case "DialogSheet": Cells(Nr, 2) = 5
            Case Else:          Cells(Nr, 2) = 6
        End Select
        Cells(Nr, 1) = AlleBlätter(Nr).Name
        Cells(Nr, 3).Value = AlleBlätter(Nr).Visible
        AlleBlätter(Nr).Visible = True
    Next Nr

    ' Blattnamen sortieren
    Liste.UsedRange.Sort Key1:=Liste.[B1], Key2:=Liste.[A1], Header:=xlNo

    ' Blattreihenfolge sortieren
    For Nr = Liste.UsedRange.Rows.Count - 1 To 1 Step -1
        With AlleBlätter(Liste.Cells(Nr, 1).Value)
            .Move before:=AlleBlätter(1)
            .Visible = Liste.Cells(Nr, 3).Value
        End With
    Next Nr
    Liste.Parent.Close False

End Sub
Argumente der Funktion/Prozedur

DiagrammeTrennen

Optional. Falls TRUE werden Tabellen alphabetisch sortiert, dahinter kommen die Diagramme in alphabetischer Reihenfolge.

Falls FALSE werden Tabellen und Diagramme zusammen sortiert.  Ohne Angabe wird TRUE gewählt.

NurAuswahl

Optional. Bei TRUE werden nur die ausgewählten Blätter sortiert. Bei FALSE werden alle Blätter sortiert. Ohne Angabe wird FALSE gewählt.
Anwendungsgebiete, Fehler und Warnungen

In alten Excel-Versionen (95) dürfen Argumente nicht gleichzeitig mit dem Schlüsselwort Optional und einem Typ angegeben werden. Um das Makro in Excel zu starten, ist daher der Typ As Boolean aus dem Funktionskopf zu entfernen. In älteren Excel-Versionen gibt es auch noch Blätter vom Typ 'Makro' und 'Dialog', die auch sortiert werden.