Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schleife über mehrere Tabellenblätter

Schleife über mehrere Tabellenblätter
18.08.2013 14:55:06
Yann
Hallo zusammen,
ich möchte gerne in meiner Excel-Datei (30 Tabellenblätter) ab dem 5. Blatt bis Ende alle Blätter sortieren. Jeweils die Spalte "G" von Zeile "8" bis "..." so weit wie im jeweiligen Blatt Zeilen ausgefüllt sind. Die Sortierung soll nach drei Farben ausgeführt werden (blau, orange, weiß).
Frage: Wie bekomme ich eine Schleife für die Sortierung mehrerer Tabellenblätter?
Danke für den Versuch von Marc, hat leider noch nicht funktioniert. Ich schicke mal einen Auszug der Datei - in Modul 7 findet ihr das Makro (Sortierung_Marc).
https://www.herber.de/bbs/user/86901.xlsm
Geht hier nicht mehr weiter:
Die Sort-Eigenschaft des Range-Objektes kann nicht zugeordnet werden
.Range("A7:Q4000").Sort.SortFields.Clear
Ich komme nicht mehr weiter:(
Danke
Yann
Sub Sortierung()
' Sortierung Makro
Application.ScreenUpdating = False
Dim Wiederholungen As Integer
Dim ws As Worksheet
For Wiederholungen = 5 To Worksheets.Count
With Worksheets(Wiederholungen)
lz = .Cells(Rows.Count, "Q").End(xlUp).Row 'letzte Zeile in Q
.Range("A7:Q4000").Sort.SortFields.Clear
.Range("A7:Q" & lz).Select
With .Sort
.SortFields.Clear
.SortFields.Add(.Range("G8:G" & lz), xlSortOnCellColor, xlAscending, , xlSortNormal) _
_
_
.SortOnValue.Color = RGB(204, 255, 255)
.SortFields.Add(.Range("G8:G" & lz), xlSortOnCellColor, xlAscending, , xlSortNormal) _
_
_
.SortOnValue.Color = RGB(252, 213, 180)
.SortFields.Add Key:=Range("G8:G" & lz), SortOn:=xlSortOnCellColor, Order:= _
xlAscending, DataOption:=xlSortNormal
.SetRange Range("A7:Q" & lz)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Next Wiederholungen
Application.ScreenUpdating = True
Range("A1").Select
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife über mehrere Tabellenblätter
18.08.2013 15:06:12
Hajo_Zi
Farben der bedingten Formatierung auslesen ist sehr aufwendig.
Gruß Hajo

AW: Schleife über mehrere Tabellenblätter
18.08.2013 16:14:37
Yann
Hallo Hajo,
alternativ kann ich natürlich auch in Spalte "G" Buchstaben einfügen für die einzelnen Farben z.B. B=blau, o=orange und w=weiß.
Kann man dann die Sortierung ausführen für mehrere Tabellenblätter?
Gruß
Yann

Anzeige
AW: Schleife über mehrere Tabellenblätter
18.08.2013 16:17:46
Hajo_Zi
füge Zahlen für die Reihenfolge ein, dann kannst Du danach sortieren.

AW: Schleife über mehrere Tabellenblätter
18.08.2013 17:20:33
Yann
Hallo Hajo,
ich habe jetzt die Zahlen eingefügt. Aber mein Problem ist, wie muss das Makro zur Sortierung aussehen und wie läuft das über die Tabellenblätter 5 bis ...ca. 30 Stück.
Kann hier bitte nochmal jemand drüberschauen
https://www.herber.de/bbs/user/86902.xlsm
Danke
Yann

Anzeige
AW: Schleife über mehrere Tabellenblätter
18.08.2013 17:40:28
Hajo_Zi
ich habe mich jetzt auf die Angegebene Version verlassen.
Option Explicit
Sub Sortieren()
Dim LoI As Long
Dim LoZeile As Long
For LoI = 5 To Worksheets.Count
With Worksheets(LoI)
LoZeile = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
.Range("A7:Q" & LoZeile).Sort Key1:=.Range("G8"), Order1:=xlAscending, _
Header:=xlYes, MatchCase:=False, Orientation:=xlTopToBottom
End With
Next
End Sub

Gruß Hajo

Anzeige
AW: Schleife über mehrere Tabellenblätter
19.08.2013 09:10:15
Yann
Hallo Hajo,
besten Dank - es hat alles funktioniert. War mir wirklich ein große Hilfe.
Gruß
Yann

AW: Schleife über mehrere Tabellenblätter
18.08.2013 16:21:08
Gerd
Hallo Yann,
ja. Allerdings ist dieser Sortiercode m.W. erst ab xl2007 anwendbar.
Gruß Gerd
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Schleife über mehrere Tabellenblätter in Excel


Schritt-für-Schritt-Anleitung

Um eine Schleife über mehrere Tabellenblätter in Excel zu erstellen und die Daten in Spalte "G" zu sortieren, kannst Du das folgende VBA-Makro verwenden. Dieses Beispiel geht davon aus, dass Du Excel 2007 oder höher nutzt.

  1. Öffne Deine Excel-Datei.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Kopiere den folgenden Code in das Modul:
Sub Sortierung()
    Application.ScreenUpdating = False
    Dim Wiederholungen As Integer
    Dim ws As Worksheet
    For Wiederholungen = 5 To Worksheets.Count
        With Worksheets(Wiederholungen)
            lz = .Cells(Rows.Count, "Q").End(xlUp).Row 'letzte Zeile in Q
            .Range("A7:Q" & lz).Sort Key1:=.Range("G8"), Order1:=xlAscending, Header:=xlYes, MatchCase:=False, Orientation:=xlTopToBottom
        End With
    Next Wiederholungen
    Application.ScreenUpdating = True
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle das Makro Sortierung aus und klicke auf Ausführen.

Dieses Makro sortiert die Daten in den Tabellenblättern ab dem 5. Blatt bis zum letzten Blatt in der Spalte "G".


Häufige Fehler und Lösungen

  • Fehler: "Die Sort-Eigenschaft des Range-Objektes kann nicht zugeordnet werden"

    • Stelle sicher, dass die Sortierung auf einem gültigen Datenbereich durchgeführt wird. Vergewissere Dich, dass die Zeilen und Spalten korrekt referenziert sind.
  • Fehler: "Sortieren für mehrere Tabellenblätter funktioniert nicht"

    • Achte darauf, dass Du die Schleife in Deinem Makro richtig konfiguriert hast. Der Code muss sicherstellen, dass die Schleife über die richtigen Blattindizes iteriert.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch die Sortierfunktion in Excel manuell anwenden:

  1. Gehe zu dem entsprechenden Tabellenblatt.
  2. Markiere den Datenbereich, den Du sortieren möchtest.
  3. Klicke auf Daten in der Menüleiste und wähle Sortieren.
  4. Wähle die Spalte "G" und die gewünschte Sortierreihenfolge aus.

Diese Methode ist jedoch nicht so effizient, wenn Du viele Tabellenblätter sortieren musst.


Praktische Beispiele

Angenommen, Du hast 30 Tabellenblätter mit Daten in Spalte "G", die nach Farben sortiert werden sollen. Du kannst die zuvor beschriebenen Schritte befolgen, um alle Blätter ab dem 5. Blatt schnell zu sortieren. Achte darauf, dass die Daten in den Zellen von Spalte "G" einheitlich formatiert sind.


Tipps für Profis

  • Verwende benutzerdefinierte Farben in der bedingten Formatierung, um die Daten visuell zu organisieren.
  • Speichere Deine Excel-Datei regelmäßig, während Du mit VBA arbeitest, um Datenverluste zu vermeiden.
  • Teste das Makro zunächst an einer Kopie Deiner Datei, um sicherzustellen, dass es wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Frage
Kann ich die Sortierung auch nach anderen Spalten durchführen?
Ja, Du kannst die Sortierreihenfolge ändern, indem Du die Key1-Eigenschaft in Deinem Makro anpasst.

2. Frage
Welche Excel-Version benötige ich für dieses Makro?
Das vorgestellte Makro ist ab Excel 2007 anwendbar. Stelle sicher, dass Du eine kompatible Version verwendest.

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