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

Sortierung über mehrere Tabellenblätter

Forumthread: Sortierung über mehrere Tabellenblätter

Sortierung über mehrere Tabellenblätter
18.12.2002 09:24:04
Janine
Hallo Profis!

Gibt es die Möglichkeit, über VBA automatisch z.B. vom 5. bis zum 20. Arbeitsblatt jeweils den gleichen Bereich in jedem Arbeitsblatt sortieren zu lassen, so dass ich nicht einen Makro aufnehmen muss, während ich alle Blätter einzeln manuell auswähle und sortiere?

Lieben Gruß,

Janine

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Sortierung über mehrere Tabellenblätter
18.12.2002 09:42:26
Steffen D
Hi,

das kannst du einfach mit einer Schleife machen:

For i = 5 To 20 Step 1
Worksheets(i).Activate
Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next i


Gruß
Steffen D

Re: Sortierung über mehrere Tabellenblätter
18.12.2002 10:37:26
Janine
Vielen Dank!

Das war es, was ich wissen wollte! :)

Gruß,

Janine

Anzeige
verändertes Problem
18.12.2002 13:41:44
Janine
Hallo Profis,

ich habe jetzt dank Steffen folgende Schleife, um meine ganzen Tabellenblätter zu sortieren:

For i = 5 To 20 Step 1
Worksheets(i).Activate
Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Next i

Nun ändert sich aber die Anzahl der zu sortierenden Arbeitsblätter ständig. Gibt es eine Möglichkeit mit VBA, dass alle Blätter zwischen Arbeitsblatt "A" und Arbeitsblatt "X" sortiert werden, unabhängig davon, wie viele es sind?

Vielen Dank und lieben Gruß,

Janine

Anzeige
Re: verändertes Problem
18.12.2002 15:49:16
Steffen D
Hi,

wie meinst Du das?

in diesem Fall ist ja A=5 und X=20

dann sortiert er von fünften bis zum zwanzigsten Blatt.
Wenn du in allen Blättern sortieren willst, (egal wieviele), dann gibt es eine elegantere Möglichkeit!
Vielleicht kannst du ja die blätter ausgrenzen die du nicht sortieren willst...

Gruß
Steffen D

Anzeige
Re: verändertes Problem
18.12.2002 16:17:13
Janine
Hallo Steffen, Du hilfst ja an allen Fronten! ;)

Mein Problem ist: ich habe 30 Tabellenblätter.
Davon gibt es 5 am Ende der Arbeitsmappe, die nicht sortiert werden sollen.

Füge ich aber in den 25 Blättern davor weitere Blätter ein oder lösche diese, so sollen immer noch alle Blätter bis auf eben besagte fünf am Ende sortiert werden.

Und um das Ganze idiotensicher zu machen, möchte ich nicht jedesmal den Makro ändern, um zu verhindern, dass Blätter entweder garnicht sortiert werden oder aber die letzten fünf Blätter mitsortiert werden.

Ich hoffe, es ist klarer geworden, worauf ich hinaus will!

Vielen Dank, dass Du Dir so eine Mühe mit mir gibst,

lieben Gruß,

Janine

Anzeige
Re: verändertes Problem
19.12.2002 08:48:32
Steffen D
Hi Janine,

ich war mit meinem ersten Excel-Projekt auch ziemlich an dieses Forum angewiesen. Jetzt habe ich schon viel gelernt, und kenne mich ein bisschen damit aus.
zu deinem Problem:

so kannst du die Tabellen (Tabelle1, Tabelle2, Tabelle3, Tabelle4, Tabelle5) von der Sortierung ausschließen, der Rest wird sortiert. Du mußt halt die Tabellennamen anpassen, die du nicht sortieren willst



Gruß
Steffen D

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblätter in Excel effizient sortieren


Schritt-für-Schritt-Anleitung

Um in Excel mehrere Tabellenblätter zu sortieren, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und die Arbeitsmappe, die die Tabellenblätter enthält.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsmappe-Name)" und wähle Einfügen > Modul.

  4. Kopiere und füge den folgenden Code ein:

    Sub SortiereTabellenblaetter()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           If ws.Index <= ThisWorkbook.Worksheets.Count - 5 Then ' letzten 5 Blätter ausschließen
               ws.Cells.Sort Key1:=ws.Range("A1"), Order1:=xlAscending, Header:=xlGuess
           End If
       Next ws
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Drücke ALT + F8, wähle SortiereTabellenblaetter und klicke auf Ausführen.

Damit sortierst du alle Tabellenblätter in deiner Arbeitsmappe, außer den letzten fünf, die du nicht sortieren möchtest.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du die richtigen Blätter und den richtigen Bereich zum Sortieren angibst. Achte darauf, dass der Bereich, den du sortieren möchtest, auch Daten enthält.
  • Fehler: Einige Blätter werden nicht sortiert.

    • Lösung: Überprüfe die Bedingungen in deinem VBA-Code, um sicherzustellen, dass sie korrekt sind. Möglicherweise musst du den Code anpassen, um mehr Blätter einzuschließen oder auszuschließen.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch manuell die Blätter sortieren:

  1. Klicke mit der rechten Maustaste auf das Registerblatt, das du sortieren möchtest.
  2. Wähle Blatt verschieben oder kopieren.
  3. Verschiebe die Blätter in die gewünschte Reihenfolge.

Diese Methode eignet sich gut, wenn du nur gelegentlich die Reihenfolge der Blätter ändern möchtest.


Praktische Beispiele

Hier sind zwei Beispiele, wie du die VBA-Methode nutzen kannst:

  1. Sortieren von 10 Arbeitsblättern: Wenn du nur die ersten 10 Blätter sortieren möchtest, kannst du den Code wie folgt anpassen:

    For i = 1 To 10
       Worksheets(i).Cells.Sort Key1:=Worksheets(i).Range("A1"), Order1:=xlAscending, Header:=xlGuess
    Next i
  2. Sortieren nach spezifischen Kriterien: Wenn du nach einer anderen Spalte sortieren möchtest, ändere Key1:=Range("A1") in die gewünschte Spalte, z. B. Key1:=Range("B1").


Tipps für Profis

  • Verwende benannte Bereiche: Wenn du häufig denselben Bereich sortierst, erwäge, einen benannten Bereich zu erstellen. Das macht deinen VBA-Code flexibler.
  • Teste deinen Code: Bevor du das Makro auf wichtige Daten anwendest, teste es auf einer Kopie deiner Arbeitsmappe.
  • Dokumentiere deinen Code: Schreibe Kommentare in deinen VBA-Code, damit du später leicht verstehst, was er macht.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in einem Blatt zusammenführen?
Du kannst die Daten aus verschiedenen Blättern in ein neues Blatt kopieren und dort zusammenführen. Nutze dafür die Funktionen Kopieren und Einfügen oder VBA, um die Daten automatisch zu konsolidieren.

2. Was passiert, wenn ich die letzten Blätter nicht ausschließe?
Wenn du die letzten Blätter nicht ausschließt, werden diese ebenfalls sortiert. Es ist wichtig, den VBA-Code so anzupassen, dass diese Blätter nicht versehentlich verändert werden. Achte darauf, die Indizes entsprechend anzupassen.

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