Montag, 25.11.2024 (CET) um 21:45 Uhr
www.windowspage.de 20 Jahre Windowspage
News:
Herzlich Willkommen bei Windowspage. Alles rund um Windows.

Tipps - Excel - Arbeitsblätter einer Arbeitsmappe alphanumerisch sortieren
Detailbeschreibung
Betriebssystem: Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10

Für die alphabetische Sortierung mehrerer Arbeitsblätter (z. B. "Tabelle1", "Tabelle2", "Tabelle3") einer Arbeitsmappe bietet Microsoft Excel keine Möglichkeit / Funktion an. Die entsprechende Funktionalität kann aber mit Hilfe eines Makros realisiert werden. Hierfür sind einige Schritte erforderlich.

Tabellenblätter

Bei der Ausführung des Makros wird der Benutzer zuerst über eine Dialogbox nach der Sortierungsreihenfolge (aufsteigend oder absteigend) gefragt. Anschließend werden die Arbeitsblätter entsprechend sortiert.

So geht's (Sortierungsfunktion hinzufügen):

  • Drücken Sie die Tastenkombination "Alt" + "F11".
    Alternativ: "Extras" > "Makro" > "Visual Basic-Editor" bzw. "Entwicklertools" > "Visual Basic"
  • Der Visual Basic-Editor öffnet sich in einem eigenen Fenster.
  • Im Menü wählen Sie "Einfügen" und anschließend "Modul".
  • Kopieren Sie das unten stehenden Visual Basic Code in das Modul (Fenster).
  • Nun kann der Visual Basic-Editor wieder geschlossen werden.

Visual Basic-Editor

So geht's (Sortierungsfunktion ausführen):

  • Drücken Sie die Tastenkombination "Alt" + "F8"
    Alternativ: "Extras" > "Makro" > "Makros..." bzw. "Entwicklertools" > "Makros"
  • Im Dialogfeld "Makro" wählen Sie ggf. den Funktionsnamen aus. Z. B.: "SortWorksheets"
  • Klicken Sie auf "Ausführen".
  • Der Visual Basic Code wird ausgeführt.

Makros

Visual Basic Code:

' Funktion zur alphabetischen Sortierung der Arbeitsblätter
' in Excel - by Windowspage 2017

Const strMsgTitle As String = "Arbeitsblätter sortieren"
Const strMsgText1 As String = "Ausfsteigende Sortierung verwenden?"
Const strMsgText2 As String = "Bei 'Nein' wird die absteigende Sortierung verwendet."

Sub SortWorksheets()
Dim i As Integer
Dim j As Integer
Dim iAnswer As Integer
'
' Benutzermeldung
'
iAnswer = MsgBox(strMsgText1 & Chr(10) & strMsgText2, _
vbYesNoCancel + vbQuestion + vbDefaultButton1, strMsgTitle)
For i = 1 To Sheets.Count
  For j = 1 To Sheets.Count - 1
'
' Aufsteigende Sortierung
'
    If iAnswer = vbYes Then
      If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
        Sheets(j).Move After:=Sheets(j + 1)
      End If
'
' Absteigende Sortierung
'
    ElseIf iAnswer = vbNo Then
      If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
        Sheets(j).Move After:=Sheets(j + 1)
      End If
    End If
  Next j
Next i
End Sub

Hinweis:

  • Je nach Excel-Version muss bei der Speicherung der Dateityp "Excel-Arbeitsmappe mit Makros" ausgewählt werden (sonst wird das Makro nicht gespeichert).

Weitere Informationen (u.a. Quelle):


Windowspage - Weitere interessante Tipps und Einstellungen
Tipps für Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10
Statistik

Unsere Webseite verwendet technisch notwendige Cookies ("berechtigtes Interesse"). Darüberhinausgehend (z. B. für Statistiken oder Marketing) erfolgt keine Speicherung von Cookies. Klicken Sie auf "Ich stimme zu", um Cookies zu akzeptieren und direkt unsere Webseite besuchen zu können. Weitere Informationen...

Valid HTML 4.01 Transitional  CSS ist valide!