Sortierung in Excel vor dem Speichern zurücksetzen
Schritt-für-Schritt-Anleitung
Um die Sortierung in einer Excel-Tabelle vor dem Speichern zurückzusetzen, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
VBA-Editor öffnen: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Modul hinzufügen: Rechtsklicke im Projektfenster auf deine Arbeitsmappe, wähle „Einfügen“ und dann „Modul“.
-
Code einfügen: Füge den folgenden Code in das Modul ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWorkbook.Worksheets("Liste").ListObjects("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste").ListObjects("Tabelle1").Sort.SortFields.Add _
Key:=Range("Tabelle1[[#All],[LN]]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Liste").ListObjects("Tabelle1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
-
Speichern: Speichere die Änderungen und schließe den VBA-Editor.
Jetzt wird die Sortierung automatisch zurückgesetzt, wenn Du die Arbeitsmappe speicherst.
Häufige Fehler und Lösungen
Laufzeitfehler beim Speichern
Wenn Du beim Speichern einen Laufzeitfehler erhältst, überprüfe die folgenden Punkte:
- Falscher Tabellenname: Stelle sicher, dass der Tabellenname ("Tabelle1") korrekt ist. Ändere den Namen im Code, falls nötig.
- Fehlende Spalte: Vergewissere Dich, dass die referenzierte Spalte ("LN") existiert. Andernfalls wird der Code nicht funktionieren.
Sortierung nicht zurückgesetzt
Wenn die Sortierung nicht zurückgesetzt wird, stelle sicher, dass der Code im Workbook_BeforeSave
Ereignis richtig platziert ist.
Alternative Methoden
Eine einfache Möglichkeit, die Sortierung aufzuheben, ist die Verwendung einer Hilfsspalte, die die ursprüngliche Reihenfolge speichert. Du kannst die Schritte wie folgt durchführen:
- Hilfsspalte hinzufügen: Füge eine neue Spalte in Deine Tabelle ein, die die ursprünglichen Zeilennummern enthält.
- Sortieren: Sortiere Deine Daten nach dieser Hilfsspalte, um die originale Reihenfolge wiederherzustellen.
- Spalte verstecken: Verstecke die Hilfsspalte, um versehentliche Änderungen zu verhindern.
Praktische Beispiele
Hier ist ein Beispiel für eine Excel-Tabelle mit einer Hilfsspalte:
LN |
Name |
1 |
Anna |
2 |
Bernd |
3 |
Clara |
Wenn Du die Tabelle nach dem Namen sortierst und später die Originalreihenfolge wiederherstellen möchtest, kannst Du einfach nach der Hilfsspalte (LN) sortieren.
Tipps für Profis
- Makro verwenden: Wenn Du häufig Tabellen sortierst, erwäge die Verwendung eines Makros, das alle notwendigen Schritte automatisiert.
- Tabelle formatieren: Stelle sicher, dass Deine Daten als Tabelle formatiert sind, um die Sortierung und Filterung zu erleichtern.
- VBA-Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinen VBA-Skripten, um Laufzeitfehler zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich die Excel-Sortierung aufheben?
Du kannst die Sortierung aufheben, indem Du die Hilfsspalte mit den ursprünglichen Zeilennummern verwendest oder den VBA-Code zur Rücksetzung der Sortierung verwendest.
2. Gibt es eine Möglichkeit, die Sortierung zu speichern?
Ja, Du kannst eine Kopie Deiner Daten erstellen, bevor Du die Sortierung anwendest, um jederzeit die originale Sortierung wiederherzustellen.
3. Warum funktioniert der VBA-Code nicht?
Überprüfe, ob der Tabellenname und die referenzierte Spalte korrekt sind. Außerdem muss der Code im richtigen Kontext (Workbook_BeforeSave) platziert sein.