Inhaltsverzeichnis
Suchen
Links
|
|
Tabellenblätter in alphabetischer Reihenfolge sortieren
Versionen: Excel 97, 2000 und 2002
Mit folgendem kleinen Makro kann man die in einer Arbeitsmappe vorhandenen Tabellenblätter alphabetisch sortieren:
Public Sub TabellenSortieren()
Dim iCount As Integer, iErstes As Integer, iZweites As Integer
iCount = ActiveWorkbook.Worksheets.Count
For iErstes = 1 To iCount
For iZweites = iErstes To iCount
If Worksheets(iZweites).Name < Worksheets(iErstes).Name Then
Worksheets(iZweites).Move before:=Worksheets(iErstes)
End If
Next iZweites
Next iErstes
End Sub
Etwas heimtückisch daran ist die Groß- und Kleinschreibung in VBA.
TAbelle2 wird vor Tabelle1 einsortiert! Will man das abschalten, muß man folgende Zeile am Anfang des Moduls einfügen:
Option Compare Text
Soll ein vorhandenes Inhaltsverzeichnis am Anfang stehen,
dann die Zeile
Worksheets("Inhalt").Move before:=Worksheets(1)
(den Blattnamen auf die eigenen Bedürfnisse anpassen) am Ende des Makros einfügen, so daß das Makro wie folgt aussieht:
Option Compare Text
Public Sub TabellenSortieren()
Dim iCount As Integer, iErstes As Integer, iZweites As Integer
iCount = ActiveWorkbook.Worksheets.Count
For iErstes = 1 To iCount
For iZweites = iErstes To iCount
If Worksheets(iZweites).Name < Worksheets(iErstes).Name Then
Worksheets(iZweites).Move before:=Worksheets(iErstes)
End If
Next iZweites
Next iErstes
Worksheets("Inhalt").Move before:=Worksheets(1)
End Sub
Erläuterungen:
Mit "Option Compare Text" am Anfang des Moduls wird der Textvergleich unabhängig von der Groß- Kleinschreibung eingestellt.
Die Prozedur durchläuft nacheinander die Tabellenblätter, vergleicht den Blattnamen mit dem Namen der jeweils an erster Stelle stehenden Tabelle und stellt das Blatt mit dem "kleineren" Namen gegebenenfalls an den Anfang der Arbeitsmappe.
Zum Schluß wird das Inhaltsverzeichnis an den Anfang gestellt.
Tabellenblätter in beliebiger Reihenfolge sortieren
Inhaltsverzeichnis für Arbeitsmappen anlegen
|