Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Tabellen hinzufügen und sortieren

Gruppe

Sortieren

Problem

Wie kann ich einer Arbeitsmappe Arbeitsblätter, deren Namen in Zellen stehen, hinzufügen und die Blätter dann sortieren lassen?

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

StandardModule: Modul1

Sub Blattauswahl()
   Dim wksList As Worksheet, wks As Worksheet
   Dim iRow As Integer
   Set wksList = ActiveSheet
   iRow = 1
   On Error Resume Next
   Do Until IsEmpty(wksList.Cells(iRow, 1))
      Set wks = Worksheets(wksList.Cells(iRow, 1).Value)
      If Err > 0 Or wks Is Nothing Then
         Err.Clear
         Worksheets.Add
         ActiveSheet.Name = wksList.Cells(iRow, 1).Value
      End If
      iRow = iRow + 1
   Loop
   On Error GoTo 0
   Call SortWorksheets
   Worksheets("Text").Move before:=Worksheets(1)
   Worksheets(1).Select
End Sub

Public Sub SortWorksheets()
   Dim iCount As Integer, iFirst As Integer, iSecond As Integer
   iCount = ActiveWorkbook.Worksheets.Count
   For iFirst = 1 To iCount
      For iSecond = iFirst To iCount
         If Worksheets(iSecond).Name < Worksheets(iFirst).Name Then
            Worksheets(iSecond).Move before:=Worksheets(iFirst)
          End If
      Next iSecond
   Next iFirst
End Sub