Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tabellenblattregister sortieren

741 views
Skip to first unread message

Holger Filges

unread,
Dec 4, 1999, 3:00:00 AM12/4/99
to
Hallo.

gibt es eine Möglichkeit das Register der Tabellenblätter einer Arbeitsmappe
alphabetisch oder numerisch zu sortieren?

Viele Grüße

Holger


Michael Velten

unread,
Dec 4, 1999, 3:00:00 AM12/4/99
to
Hallo Holger,

schau doch bitte erst einmal in den Beiträgen der vegangenen Tage nach!
Dort findest Du genau Hilfestellungen zu Deinem Problem.

MfG
Michael

___________________________
Michael Velten
eMail: Velten...@T-Online.de

Holger Filges <hfi...@filges.de> schrieb in im Newsbeitrag:
eevtLnmP$GA....@cppssbbsa02.microsoft.com...

Konrad Hauke

unread,
Dec 4, 1999, 3:00:00 AM12/4/99
to
Hallo Holger Filges!


Diese Prozedure in ein Code-Modul eintragen
und uber Menü Extra->Macro->Macros...
aufrufen.

Public Sub SortSheets()
Dim i As Integer
Dim tName As String
Dim ws As Worksheet

Const ctTempSheet = "SortSheet"

On Error GoTo ErrHandler

Application.ScreenUpdating = False

' Hilfsblatt erzeugen
Worksheets.Add before:=Sheets(1)
Worksheets(1).Name = ctTempSheet

' Blattnamen eintragen
i = 1
For Each ws In Worksheets
If ws.Name <> ctTempSheet Then
Cells(i, 1) = ws.Name
i = i + 1
End If
Next

' Einträge sortieren
Range("A1").CurrentRegion.Sort Key1:=Range("A1"), _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
' Blätter sortieren
For i = Worksheets.Count - 1 To 1 Step -1
tName = Worksheets(ctTempSheet).Cells(i, 1)
Worksheets(tName).Move before:=Worksheets(2)
Next

' das Hilfsblatt löschen
Application.DisplayAlerts = False
Worksheets(ctTempSheet).Delete

Application.DisplayAlerts = True
Application.ScreenUpdating = True
Exit Sub

ErrHandler:
Resume Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

mfg
Konrad


ti...@bluewin.ch

unread,
Dec 5, 1999, 3:00:00 AM12/5/99
to

Holger Filges schrieb:


>
> Hallo.
>
> gibt es eine Möglichkeit das Register der Tabellenblätter einer Arbeitsmappe
> alphabetisch oder numerisch zu sortieren?
>
> Viele Grüße
>
> Holger


Mit diesem Makro die sortiereri kein Problem mehr sein.

gruss Heinz

Sub Blattsort()
' Variablen dimensionieren
Dim blätter(100), blattzahl, i As Integer, aktname As String
blattzahl = Sheets.Count
' Erste Schleife liest alle Blattnamen ein
For i = 1 To blattzahl
blätter(i) = Sheets(i).Name
Next i
' Neues Tabellenblatt einfügen
Sheets.Add
aktname = ActiveSheet.Name
[a1].Select
' Zweite Schleife schreibt alle Blattnamen in die Tabelle
For i = 1 To blattzahl
ActiveCell.Value = blätter(i)
Selection.Offset(1, 0).Select
Next i
' Bereich auswählen und absteigend sortieren
Range([a1], Cells(i - 1, 1)).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom
' Dritte Schleife sortiert alle Blattnamen nach der Liste ein
Dim counter As Variant
For Each counter In Selection
Sheets(counter.Value).Move Before:=Sheets(1)
Next counter
' Eingefügtes Tabellenblatt löschen
Application.DisplayAlerts = False
Sheets(aktname).Delete
End Sub

Frank Arendt-Theilen

unread,
Dec 5, 1999, 3:00:00 AM12/5/99
to
Hallo Holger,
folgendes XL5-XL9-Makro:

Sub BlätterSortieren()
Dim S As Integer; Done As Boolean
Do
Done = True
For S = 1 To Worksheets.Count - 1
If Worksheets(S).Name > Worksheets(S + 1).Name Then
Worksheets(S + 1).Move Before:=Worksheets(S)
Done = False
End If
Next S
Loop Until Done
End Sub

MfG Frank
__________________________________________________________
Frank Arendt-Theilen, MVP für Microsoft Excel
E-Mail: Thei...@t-online.de


Am Sat, 4 Dec 1999 16:13:53 +0100, schrieb "Holger Filges"
<hfi...@filges.de> in microsoft.public.de.excel zu
"Tabellenblattregister sortieren":

Werner Nagel

unread,
Dec 7, 1999, 3:00:00 AM12/7/99
to
Holger Filges schrieb:

> Hallo.
>
> gibt es eine Möglichkeit das Register der Tabellenblätter einer Arbeitsmappe
> alphabetisch oder numerisch zu sortieren?
>
> Viele Grüße
>
> Holger

Hallo Holger,

versuchs mal damit!

Makro sortiert aufsteigend:

Sub TabellenblaetterSortieren()
Dim i As Integer, x As Integer 'Dim i%, x%
For i = 1 To Sheets.Count
For x = 1 To Sheets.Count - 1
If UCase$(Sheets(x).Name) > UCase$(Sheets(x + 1).Name) Then
Sheets(x).Move After:=Sheets(x + 1)
End If
Next x
Next i
End Sub


Makro sortiert absteigend:

Sub TabellenblaetterSortieren()
Dim i As Integer, x As Integer 'Dim i%, x%
For i = 1 To Sheets.Count
For x = 1 To Sheets.Count - 1
If UCase$(Sheets(x).Name) < UCase$(Sheets(x + 1).Name) Then
Sheets(x).Move After:=Sheets(x + 1)
End If
Next x
Next i
End Sub

Gruss Werner


_______________________________________

Werner Nagel

Am Gutenbrunnen 15
67150 Niederkirchen

Internet: http://www.Werner-Nagel.de
e-Mail: ma...@Werner-Nagel.de
_______________________________________

0 new messages