Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter sortieren (nicht alphabetisch)

Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 14:33:20
snoopyine
Hallo zusammen,
ich bräuchte mal wieder eure Hilfe.
Ich möchte mittles Makro meine Tabellenblätter sortieren, aber nicht aplphabetisch, sondern nach einer bestimmten vorgegebenen Reihenfolge.
Für Tipps und Ratschläge wäre ich sehr dankbar.
Gruß
snoopyine

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 14:42:27
Daniel
Hallo
so zum beispiel:
Sheet an den Anfang sortieren:
Sheets("Daten").Move Before:=Sheets(1)
Sheet ans Ende sortieren:
Sheets("Daten").Move after:=sheets(Activeworkbook.sheets.count)
Die Reihenfolge ist bisher nur dir bekannt.
Gruß, Daniel
AW: Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 15:11:48
snoopyine
Hallo Daniel.
Die Befehle move before/after sind mir bekannt. mein problem ist nur, ich will nicht für jedes Datenblatt den Befehl eingeben. Da sich die Reihenfolge auch ändern kann.
Kann man das nicht so lösen, das Excel sich die Sortierfolge aus eine anderen Tabelle zieht?
Gruß
Snoopyine
AW: Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 15:36:12
Daniel
Hallo
sollte gehen.
Wenn die Namen aller deiner Tabellenblätter im sheet("Tabelle1") untereinander in der von dir gewünschten Reihenfolge stehen, mit dieser Schleife:

for each Zelle in Sheets("Tabelle1").range("A1").currentregion
sheets(Zelle.value).Move after:=sheets(thisworkbook.sheets.count)
next

Gruß, Daniel
Anzeige
AW: Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 16:59:07
snoopyine
Hallo Daniel.
danke erst einmal.
habe es mal wie folgt abgeändert funktioniert aber nicht.
ich habe die Reihenfolge in Sheet1
dim i as long
i=99
i=i+1
for each Cells(i,1) in Worksheets(1).range("A100").currentregion
sheets(cells(i,1).value).Move after:=sheets(thisworkbook.sheets.count)next
Excel hat problem mit dem RangeObject und currentregion.
Kannst du mir weiterhelfen?
gruß
AW: Tabellenblätter sortieren (nicht alphabetisch)
23.10.2006 18:28:36
Daniel
Hallo
die ForEach-Schleife muß so aus sehen:

Sub Test()
Dim Zelle As Range
For Each Zelle In Sheets("Tabelle1").Range("A1").CurrentRegion.cells
Sheets(Zelle.Value).Move after:=Sheets(ThisWorkbook.Sheets.Count)
Next
End Sub

Die TabNamen stehen im Sheet Tabelle1 ab Zelle A1 abwärts
kann sein, daß ich das .Cells am Ende vergessen habe.
Manchmal braucht mans, manchmal gehts ohne.
Mit i oder sonstigen Schleifenzählern brauchst du bei ForEACH nicht zu arbeiten, das Range-Objekt Zelle wird nacheinander auf jede einzelne Zelle des Benannten Range-Objekts gesetzt.
Damit CurrentRegion funktioniert, müssen die Sheetnamen in einer lückenlosen Reihenfolge untereinander stehen und die rundherum angrenzenden Zellen müssen leer sein.
Wenn sich die Anzahl deiner Sheets nicht ständig ändert, kannst du den Zellbereich auch direkt angeben:
For each Zelle in Sheets("Tabell1").range("A100:A120")
mit dem Currentregion spare ich mir halt das anpaasen des Zellbereichs.
Currentregion hat den gleichen Effekt wie die Tastenkombination +
Damit kannst du Testen, ob der Richtige Zellbereich selektiert wird.
Gruß, Daniel
Anzeige
AW: Tabellenblätter sortieren (nicht alphabetisch)
24.10.2006 10:27:36
snoopyine
Vielen vielen Danke Daniel !!
Funktioniert super und ich habe es jetzt auch verstanden !!!
Grüße
snoopyine
AW: Tabellenblätter sortieren (nicht alphabetisch)
24.10.2006 10:50:59
snoopyine
Hallo,
habe jetzt doch noch ein kleines Problem. Es funktioniert super. Nur wenn ich es in ein SUB einbinde oder per Call aus einem anderen Modul sarten möchhte, kommt immer die Fehlermedlung :
LFZ 1004: Die Currentregion-Eigenschaft des RangeObjectes kann nicht zugeordnet werden.
Ein Idee an was das liegt?
Gruß
snoopyine
AW: Tabellenblätter sortieren (nicht alphabetisch)
24.10.2006 11:20:37
snoopyine
Hallo daniel,
habe den Fehler nun endlich lösen können.
Ich habe vergessen mein Blatt zu aktivieren in dem meine Liste ist nach der ich sortieren will.
Danke
snoopyine
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige