Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worksheets sortieren

Worksheets sortieren
Peter
Hallo zusammen,
ist es möglich, nur bestimmte Worksheets einer Datei zu sortieren?
In meiner Datei gibt es habe ich verschiedene Worksheets , die so heißen:
1.02
2.02
2.05
2.01
3.01
3.04
3.02
usw.
Es ist möglich, dass noch neue Worksheets hinzu kommen. Nun möchte ich diese Worksheets aufsteigend sortieren, aber auch nur die Sheets, die nach diesem Schema benannt sind. Die anderen Worksheets heißen z.B. "Übersicht" oder "Basisdaten" und sollen an ihrer Position bleiben.
Kann ich das vielleicht so machen, dass ich vor den zu sortierenden Sheets ein Sheet (z.B. "Start") und nach den zu sortierenden Sheets ein Sheet (z.B. "Ende") einbaue?
Leider hab ich irgendwie keinen Plan.
Diesen Code hab ich gefunden, aber er sortiert alle Sheets:

Public Sub SortSheets()
Dim Anz As Integer
Dim i   As Integer
Dim j   As Integer
Anz = Sheets.Count
For i = 1 To Anz
For j = 1 To Anz - 1
If Sheets(j + 1).Name 

Vielen Dank für eure Hilfe,
beste Grüße,
Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
i, j u. Anz sind die entschd Variablen! Die ...
09.08.2011 14:51:09
Luc:-?
…musst du entsprechend einstellen, Peter!
Sie bezeichnen den Blattindex, der sich nach der sichtbaren Reihenfolge (1...Anz) der Blätter in der Mappe richtet.
Gruß Luc :-?
AW: Worksheets sortieren
09.08.2011 15:58:33
Josef

Hallo Peter,
das würde ich so machen.
Sub sortieren()
  sortSheets ThisWorkbook
  Sheets("Übersicht").Move Sheets(1)
  Sheets("Basisdaten").Move Sheets(2)
End Sub


Sub sortSheets(WBook As Workbook, Optional Order As XlSortOrder = xlAscending, Optional AlphaNumeric As Boolean = True)
  Dim lngA As Integer, lngB As Integer
  Dim objActive As Object
  
  On Error GoTo ErrExit
  Application.ScreenUpdating = False
  
  Set objActive = ActiveSheet
  
  With WBook
    For lngA = 1 To .Sheets.Count
      For lngB = 1 To .Sheets.Count - 1
        If Format(UCase$(.Sheets(lngB + IIf(Order = xlAscending, 0, 1)).Name), _
          IIf(AlphaNumeric, String(32, "0"), "@")) > Format(UCase$(.Sheets(lngB + _
          IIf(Order = xlAscending, 1, 0)).Name), IIf(AlphaNumeric, _
          String(32, "0"), "@")) Then
          .Sheets(lngB).Move after:=.Sheets(lngB + 1)
        End If
      Next
    Next
  End With
  
  objActive.Activate
  
  ErrExit:
  Application.ScreenUpdating = True
  Set objActive = Nothing
End Sub




« Gruß Sepp »

Anzeige
AW: Worksheets sortieren
09.08.2011 16:29:59
Peter
Hallo Luc und Sepp,
danke euch beiden herzlich. Habe es nun so gelöst:

Public Sub SortSheets()
Dim Start As Integer
Dim Ende As Integer
Dim i As Integer
Dim j As Integer
Start = Sheets("EM_Start").Index
Ende = Sheets("EM_Ende").Index
For j = Start + 1 To Ende
For i = Start To Ende - 2
If Sheets(i + 2).Name 

Beste Grüße,
Peter
Bitte sehr! ;-) Gruß owT
09.08.2011 17:53:11
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige