Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Sortieren der Arbeitsblätter nach Datums-Blattnamen

Gruppe

Sortieren

Problem

Die Tabellenblätter sollen nach dem Datumsnamen sortiert werden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: Modul1

Sub SortWks()
   Dim wkb As Workbook
   Dim wks As Worksheet, wksAct As Worksheet
   Dim iCounter As Integer
   Application.ScreenUpdating = False
   ReDim arr(1 To Worksheets.Count)
   Set wkb = ThisWorkbook
   Workbooks.Add 1
   Set wksAct = ActiveSheet
   For Each wks In wkb.Worksheets
      iCounter = iCounter + 1
      wksAct.Cells(iCounter, 1).Value = CDate(wks.Name)
      Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending
   Next wks
   wkb.Worksheets(Format(wksAct.Cells(1, 1).Value, "mmmm yyyy")).Move _
      before:=wkb.Worksheets(2)
   For iCounter = 2 To wkb.Worksheets.Count
      wkb.Worksheets(Format(wksAct.Cells(iCounter, 1).Value, "mmmm yyyy")).Move _
         after:=wkb.Worksheets(iCounter)
   Next iCounter
   wksAct.Parent.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub