Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Makro Tabellenblätter sortieren

Makro Tabellenblätter sortieren
16.02.2015 08:31:54
Leif
Hallo zusammen,
ich habe folgendes Problem:
In meiner Arbeitsmappe wird ein bestehendes Tabellenblatt per Makro kopiert und eingefügt. Dadurch haben alle Tabellenblätter den gleichen Name mit entsprechendem Zähler. Also Test(1), Test(2), Test(3) usw....
Ich möchte dies Tabellenblätter nun nach dem Zähler aufsteigend sortieren. Bis Nummer 9 funktioniert dies auch. Nummer 10 wird dann allerdings nach 1 und vor 2 eingefügt und nicht wie gewünscht nach 9.
Hier das Makro:
Dim Zaehler1 As Integer, Zaehler2 As Integer
Dim Name As String
Name = ActiveSheet.Name
For Zaehler1 = 1 To Worksheets.Count
For Zaehler2 = Zaehler1 To Worksheets.Count
If UCase(Worksheets(Zaehler2).Name) < UCase(Worksheets(Zaehler1).Name) Then
Worksheets(Zaehler2).Move before:=Worksheets(Zaehler1)
End If
Next Zaehler2, Zaehler1
Worksheets(Name).Activate
Was mache ich falsch?
Vielen dank für die Hilfe im voraus.
Gruß
Leif Meyer

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Tabellenblätter sortieren
16.02.2015 09:12:38
Klaus
Hi,
ist doch klar Leif - die Sortierung ist so richtig wie Excel sie vornimmt. Nenne das erste Tabellenblatt nicht "Test1" sondern "Test01", dann funktioniert es bis 99 Blätter. Wenn du mehr brauchst, nenne das erste Blatt "Test001" .. und so weiter.
Grüße,
Klaus M.vdT.

AW: Makro Tabellenblätter sortieren
16.02.2015 09:16:23
Daniel
Hi
das ist "normal".
da es sich um Texte handelt, ist für die Entscheidung ob grösser oder kleiner nur das erste unterschiedliche Zeichen von links relevant. Alle folgenden Zeichen spielen keine Rolle.
Wenn Texte, die Zahlen enthalten "richtig" sortiert werden sollen, müssen die Zahlen mit führenden Nullen aufgefüllt werden, so dass alle Zahlen in den Texten die selbe länge haben.
Das macht dieses Marko, welches du vorab laufen lassen solltest (ist ausgelegt für max 999 Blätter)
Sub BlattUmbennen()
Dim wsh As Worksheet
Dim Nme As String
Dim Nr As String
Dim Pos As Long
For Each wsh In ActiveWorkbook.Worksheets
Nme = wsh.Name
Pos = InStr(Nme, "(")
If Pos > 0 Then
Nr = Val(Mid(Nme, Pos + 1))
Nme = Left(Nme, Pos)
wsh.Name = Nme & Format(Nr, "000") & ")"
End If
Next
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige