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

Tabellenblätter sortieren

Tabellenblätter sortieren
31.05.2022 14:32:12
Dilek
Hallo zusammen,
ich habe mehrere Tabellenblätter, davon ist einer eine Gesamtübersicht aller Tabellenblätter die in dieser Datei sind und einer ist eine Blanko version. Alle anderen sind vom Aufbau her wie die Blanko Version nur halt mit Daten gefüllt. Gibt es eine Möglichkeit, dass die Tabellenblätter sich automatisch nach dem Wert der Spalte E (KW) sortieren.
Wäre echt super wenn ihr mir helfen könntet.
Vorab vielen Dank.
https://www.herber.de/bbs/user/153343.xlsm

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter sortieren
31.05.2022 15:13:24
Yal
Hallo Dilek,
nehmen wir an, die Reihenfolge ist im Blat "Gesamt" so wie gewünscht (ansonsten, sortieren).

Sub Blätter_sortieren()
Dim i As Long
With Worksheets("Gesamt")
For i = .Range("A9999").End(xlUp).Row To 3 Step -1
Worksheets(.Cells(i, "A")).Move After:=Sheets(1) 'Nach Gesamt. Gesamt ist an erster Stelle
Next
End With
End Sub
VG
Yal
AW: Tabellenblätter sortieren
31.05.2022 15:21:39
DU
Hallo Yal,
zunächst einmal vielen Dank für Deine schnelle Rückmeldung. Leider funktioniert es nicht, es kommt die Fehlermeldung "Laufzeitfehler 13 / Typen unverträglich".
Habe aber noch eine Frage, kann man es nicht nach der KW sortieren?
Nochmals Vielen Dank.
Anzeige
AW: Tabellenblätter sortieren
31.05.2022 15:36:52
Yal
Hallo Dilek,
"kann man es nicht nach der KW sortieren?"
doch: per Hand. So auch meine Annahme, die Reihenfolge stimmt schon.
Bei Bedarf lass man beim Sortieren den Makrorekorder laufen und so hat man den Code dazu.
Fehlermeldung "Laufzeitfehler 13 / Typen unverträglich"
lass den Code in Schritt-Modus laufen, schaue, wo der Fehler passiert und welche Variable dazu führt, dass es kemmt. Entweder macht "i" Problem (unwahrscheinlich) oder es wird in der Zelle Cells(i, "A") etwas gelesen, was nicht als Zeichenkette passt.
Dann vielleicht ".Value" verwenden:

 Worksheets(.Cells(i, "A").Value).Move After:=Sheets(1) 'Nach Gesamt. Gesamt ist an erster Stelle
VG
Yal
Anzeige
AW: Tabellenblätter sortieren
31.05.2022 16:26:07
Dilek
Hallo Yal,
sorry das ich mich so blöd anstelle - bin leider kein VBA Profi bzw. habe gar keine Kenntnisse, kann nur aus dem Netz kopieren.
Habe es jetzt so gemacht wie du es eben gesagt hast und nun kam "Laufzeitfehler 9 / Index außerhalb des Bereichs"
AW: Tabellenblätter sortieren
31.05.2022 18:48:42
onur

Sub Blätter_sortieren()
Dim i As Long
With Worksheets("Gesamt")
For i = .Range("A9999").End(xlUp).Row To 3 Step -1
Worksheets(.Cells(i, "A").TEXT).Move After:=Sheets(1) 'Nach Gesamt. Gesamt ist an erster Stelle
Next
End With
End Sub

AW: Tabellenblätter sortieren
31.05.2022 19:02:03
Dilek
Hallo,
vielen Dank für die Rückmeldung. Bekomme leider wieder "Laufzeitfehler 9 Index außerhalb..." vielleicht liegt es auch an mir - ich hoffe nicht.
Anzeige
AW: Tabellenblätter sortieren
31.05.2022 20:05:42
Dilek
Vielen Dank - aber ist nicht die feine englische Art, jemanden der keine Ahnung von VBA hat so zu behandeln nur weil du ein Profi bist.
AW: Tabellenblätter sortieren
31.05.2022 20:17:50
onur
Sorry, hast ja Recht, aber du hättest auch einfach mal fragen können: "Wie und wo genau muss ich den Code jetzt einfügen? ", wenn du keine Ahnung hast, was du mit dem Code machen sollst, statt einfach zu sagen: "Es funktioniert nicht" - oder ?
AW: Tabellenblätter sortieren
01.06.2022 07:27:48
Yal
Hallo Dilek,
"Laufzeitfehler 9", da gibt dir die Suchmaschine deiner Wahl schneller eine Antwort als jeglichen Foren, bedeutet, dass du versuchst auf einem benannten Element einer Auflistung zuzugreifen, den es hat nicht gibt.
Zum Beispiel Worksheets("ABC") und diese Worksheet gibt es nicht.
Also Du hast in deiner Liste Namen von Worksheets, die es nicht mehr gibt.
VG
Yal
Anzeige
AW: Tabellenblätter sortieren
01.06.2022 07:31:48
onur
Es lag aber an deinem Code: weder mit „.Value“ noch ohne Alles, sondern mit „.Text“ klappt es.
AW: Tabellenblätter sortieren
01.06.2022 20:19:59
Yal
Hallo Onur,
bei den gegebenen Blätter in der Beispieldatei funktioniert bei mir .Value einwandfrei. Ohne bekommt man die Meldung "Typen unverträglich".
Ändere ich den Name "PO5236" in "PO5236xx", dann bekomme ich die bekannte "Laufzeitfehler '9': Index ausserhalb der gültigen Bereich".
Daher 2 Möglichkeiten:
_ mindestens ein Eintrag der Liste ist als Blatt nicht vorhanden.
_ ein Eintrag der Liste besteht nur aus Zahl(en) und ".Value" macht daraus ein Zahl n. Daraus wird das N-te Blatt gesucht, was zu Laufzeitfehler 9 führt, wenn der Anzahl an Blätter kleiner als n ist.
Wegen Fall 2 ist .Text besser geeignet als .Value.
Man könnte auch CStr(.Cells(i, "A")) verwenden.
VG
Yal
Anzeige
AW: Tabellenblätter sortieren
01.06.2022 20:46:45
onur
Hallo Yal,
Sorry, hast Recht. Value funktiert genauso gut wie Text, nur ohne alles gibt es die Fehlermeldung, egal was in der Zelle steht.
Gruss
Onur

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige