Supportnet / Forum / Tabellenkalkulation
Blattregisterkarten per VBA sortieren ?
Frage
Hallo Leute!
Brauche mal Eure Hilfe.
Wie kann ich in Excel die Blattregisterkarten an Hand der Registerkartenbezeichnung per VBA sortieren lassen?
Beispiel:
Die Registerkarten habe die Bezeichnungen 1.0.0, 1.0.1, 1.0.2, 2.1.2, 3.2.4 usw. Wenn ich ein neues Tabellenblatt einfüge und der Registriekarte eine neue Bezeichnung gebe (z.B. 2.2.2), sollen nach dem klicken auf eine Schaltfläche die Tabellenblätter aufsteigend sortiert werden!
Hat da jemand Idee?
Vielen Dank schon mal.
Gruß Mantas
Antwort 1 von Guenter
Hallo,
mit Makro, gefunden bei Jörg Lorenz
Quelle:
http://www.excel-vba.de/2_1_6.htm#sortieren
Gruß
Günter
mit Makro, gefunden bei Jörg Lorenz
Public Sub SortWorksheets1()
Dim Cnt%, N%, M%, i%, ZahlM%, ZahlN%
Dim WS As Worksheet
Set WS = ActiveSheet
Cnt = ActiveWorkbook.Worksheets.Count
For M = 1 To Cnt
For N = M To Cnt
On Error Resume Next
For i = 1 To Len(Worksheets(N).Name)
If IsNumeric(Right(Worksheets(N).Name, i)) = False Then
i = i - 1
If i = 0 Then GoTo Text
ZahlN = Right(Worksheets(N).Name, i)
Exit For
End If
Next i
For i = 1 To Len(Worksheets(M).Name)
If IsNumeric(Right(Worksheets(M).Name, i)) = False Then
i = i - 1
If i = 0 Then GoTo Text
ZahlM = Right(Worksheets(M).Name, i)
Exit For
End If
Next i
If CInt(ZahlN) < CInt(ZahlM) Then Worksheets(N).Move Before:=Worksheets(M)
GoTo Nächste
Text:
If Worksheets(N).Name < Worksheets(M).Name Then _
Worksheets(N).Move Before:=Worksheets(M)
Nächste:
Next N
Next M
Sheets("Tab3").Select
MsgBox "Anzahl der Tabellen: " & Cnt
End Sub
Quelle:
http://www.excel-vba.de/2_1_6.htm#sortieren
Gruß
Günter
Antwort 2 von Mantas
@Günter
Vielen Dank für Deine Bemühung.
Habe das Marco angepasst und es funzt prima!
Gruß Mantas
Vielen Dank für Deine Bemühung.
Habe das Marco angepasst und es funzt prima!
Gruß Mantas