Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheetsortierung ohne 1. Buchstaben

Forumthread: Sheetsortierung ohne 1. Buchstaben

Sheetsortierung ohne 1. Buchstaben
04.04.2021 02:24:18
Max
Hallo liebe Forum-Mietglieder,
ich möchte Sheets sortieren ohne Einfluss des ersten Zeichens.
Die Sortierung anhand Buchstaben und Zahlen klappt und ist entsprechend simpel mit größer/kleiner-Vergleich umgesetzt:
https://www.herber.de/bbs/user/145296.xlsm
Sub SortSheet()
Dim arr()
n = Worksheets.Count
ReDim arr(n)
'Array mit Sheetnamen der aktuellen Reihenfolge erstellen
For k = 4 To n
arr(k) = (Worksheets(k).Name)
Next k
For i = 4 To n
For j = 4 To n
If arr(j) > arr(i) Then
h = arr(i)
arr(i) = arr(j)
arr(j) = h
End If
Next j
Next i
For g = 4 To n
'hier wird einfach jedes Sheet nach hinten verschoben entsprechend der geordneten  _
Reihenfolge des Arrays
Worksheets(CStr(arr(g))).Move after:=Worksheets(n)
Next g
End Sub
Allerdings möchte ich, dass alle Sheets mit gleicher zweiter Nummer (V277-XXXX-...) hintereinander aufgeführt werden, wozu wiederum das erste Zeichen des Sheetnamens in die Sortierentscheidung nicht eingehen darf.
Was muss ich am Code ändern bzw. wie bekomme ich die entsprechende Abhängigkeit mit rein?
Vielen Dank im Voraus euch und schöne Ostern!
Max
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheetsortierung ohne 1. Buchstaben
04.04.2021 03:22:08
CitizenX
Hallo,
das beste was mir zZ eingefallen ist:
Sub SortSheetohne1Ch()
Dim arrsort: Set arrsort = CreateObject("System.Collections.Arraylist")
Dim nname
n = Worksheets.Count
'Array mit Sheetnamen der aktuellen Reihenfolge erstellen
For k = 4 To n
arrsort.Add Mid(Worksheets(k).Name, 2, Len(Worksheets(k).Name) - 1) & Chr(165) & Left( _
Worksheets(k).Name, 1)
Next k
arrsort.Sort
For g = 1 To arrsort.Count - 1
nname = Split(arrsort(g), Chr(165))(1) & Split(arrsort(g), Chr(165))(0)
Worksheets(nname).Move after:=Worksheets(n)
Next g
End Sub

VG
Anzeige
Vielen Dank!
06.04.2021 02:07:58
Max
Hi CitizenX,
musste etwas rumprobieren und konnte es sehr gut bei mir einbinden.
Vielen Dank. Ich wünsche dir eine angenehme Woche :)
Viele Grüße
Max
=INDEX(SORTIEREN(TEIL({17;35;21};{1.2};9);2);;1)
04.04.2021 17:02:54
lupo1
Dankeschön
06.04.2021 02:11:04
Max
Hallo Lupo1,
auch dir vielen Dank für die Antwort.
Ich war mir allerdings nicht sicher, wie ich die Formel zu Sortierung von Sheets einbinde und werde demnächst nochmal etwas googlen.
Viele Grüße und eine angenehme Woche! :)
Max
Geht nicht ...
06.04.2021 08:48:43
lupo1
... da Sheets sich nicht per Formel sortieren lassen.
Für mich (und möglicherweise andere) war aber das Problem, übersetzt auf Tabellendaten, interessant.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige