Herbers Excel-Forum - das Archiv
sortierung von tabellenblättern
Betrifft: sortierung von tabellenblättern
von: dietmar
Geschrieben am: 29.10.2003 22:42:53
hallo community,
kann man die tabellenblätter einer arbeitsmappe sortieren?
bsp.:
UE 12
UE 23
UE 14
UP 11
QS 15
UP 15
soll werden zu:
QS 15
UE 12
UE 14
UE 23
UP 11
UP 15
so sollen die tabellen im arbeitsmappenregister gelistet sein, neue tabellenblätter sollen automatisch einsortiert werden.
danke, dietmar
Betrifft: AW: sortierung von tabellenblättern
von: xXx
Geschrieben am: 29.10.2003 22:51:01
Hallo,
das ist Bestandteil meiner kleinen Helferlein (siehe Stöberkiste)
Nicht elegant, aber funktioniert!
Sub Blaetter_sortieren_Name()
Dim iBlatt1 As Integer, iBlatt2 As Integer, iAnzBlaetter As Integer, _
oBlatt1 As Object, oBlatt2 As Object, nBlatt1, nBlatt2
Application.ScreenUpdating = False
iAnzBlaetter = ActiveWorkbook.Sheets.Count
iBlatt1 = 1
100:
iBlatt2 = iBlatt1 + 1
200:
Set oBlatt1 = Sheets(iBlatt1)
Set oBlatt2 = Sheets(iBlatt2)
nBlatt1 = oBlatt1.Name
nBlatt2 = oBlatt2.Name
If nBlatt1 > nBlatt2 Then
oBlatt2.Move before:=oBlatt1
If iBlatt2 <= AnzBlaetter - 1 Then
iBlatt2 = iBlatt2 + 1
GoTo 200
Else
GoTo 100
End If
End If
If iBlatt2 < iAnzBlaetter Then
iBlatt2 = iBlatt2 + 1
GoTo 200
Else
If iBlatt1 = iAnzBlaetter - 1 Then GoTo 1000
iBlatt1 = iBlatt1 + 1
GoTo 100
End If
1000:
Sheets(1).Activate
Application.ScreenUpdating = True
End Sub
Gruß aus'm Pott
Udo
http://www.excelerator.de
P.S.Das Forum lebt auch von den Rückmeldungen der Frager an die Antworter.
Betrifft: Aus diesem Forum
von: Werner
Geschrieben am: 29.10.2003 22:59:11
Hallo Dietmar,
Kürzer so.
War vor kurzem hier im Forum.
Sub SheetsAlphaSort()
Dim i As Integer, j As Integer, k As Integer
k = ActiveWorkbook.Worksheets.Count
For i = 1 To k
For j = i To k
If Worksheets(j).Name < Worksheets(i).Name Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next j
Next i
End Sub
Gruss Werner