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

Forumthread: Datum automatisch sortieren

Datum automatisch sortieren
28.09.2005 09:19:39
Stefanie
Hallo zusammen,
ich habe ein kleines Problem, welches ich nicht lösen kann. Wie kann ich in einer Tabelle automatisch sortieren lassen? Ich habe dort Datumsangaben drinstehen und in den Zeilen stehen dazugehörige Datensätze. Nun möchte ich gern, wenn ein neuer Datensatz hinzukommt, dass es automatisch sortiert wird und auch die dazugehörigen Datensätze in der Zeile mitgenommen werden (weiß nicht wie ich das besser ausdrücken soll). Ich möchte das die Datumsangaben aufsteigend sortiert werden. Hat Excel so eine Funkiton? Ich möchte halt nicht die immer die manuelle Sortierung in Excel bei jedem neuen Datensatz durchführen müssen. Hat jemand eine Idee, wie ich das lösen kann? Wäre echt toll. Gibts da schon was in Excel, wenn nicht könnte ich das uach über VBA lösen?. Wäre toll wenn mir jemand einen Ansatz geben könnte.
Vielen Dank im Voraus.
Beste Grüße
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datum automatisch sortieren
28.09.2005 10:05:00
Matthias
Hallo Stefanie,
bleibt die Frage, WANN sortiert werden soll. Sofort, wenn du ein Datum eingibst, wäre wohl nicht das Wahre, da dann der Eintrag plötzlich "verschinden" und weiter oben in der Tabelle stehen kann.
Eine Möglichkeit wäre, z.B. beim Eintrag des letzten Wertes eines Datensatzes (z.B. Spalte D).
Äußere dich mal, wie du dir das vorstellst, dann kann ich dir sicher weiterhelfen.
Gruß Matthias
Anzeige
AW: Datum automatisch sortieren
28.09.2005 10:16:57
Stefanie
Hallo Matthias,
erstmal vielen Dank für Deine Antwort. Die Tabelle wird automatisch befüllt (über ein anderes Eingabeblatt mit ) somit wäre es genau richtig, wenn sofort nach Datum sortiert wird. Der Nutzer sieht das eh nicht. Diese Tabelle dient dann weiteren Auswertungen und ist somit nur ein "verstecktes Hilfsmittel". Gibts dafür eine Lösung?
Vielen Dank schon mal im Voraus.
Beste Grüße
Stefanie
Anzeige
AW: Datum automatisch sortieren
28.09.2005 10:30:15
Matthias
Hallo Stefanie,
dann reicht es eigentlich, die Tabelle beim Aktivieren des Blattes zu sortieren:
ins Modus des Tabellenblattes:

Private Sub Worksheet_Activate()
Columns("A:D").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Wenn es mehr Spalten sind, ändere Columns("A:D") entsprechend.
Wenn das Datum nicht in Spalte A steht, ändere Key1:=Range("A2") entsprechend.
Grüße,
Matthias
Anzeige
AW: Datum automatisch sortieren
28.09.2005 12:04:30
Stefanie
Halllo Matthias,
habe es so gemacht und die Änderungen (Anpassungen) durchgeführt. Dann kommt eine Fehlermeldung: Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler. Woran liegt das? Ein Problem gibt es noch. Das Tabellenblatt wird nicht vom Nutzer aktiviert werden können, da es ihm nicht zugänglich gemacht wird, somit ist die die Sortierung durch aktivieren schwierig.
Müsste nicht bei Range ("A2") der ganze Bereich angegeben werden? Range ("A2:A16") bspw.?
Bei mir steht jetzt folgendes:

Private Sub Worksheet_Activate()
Columns("A:H").Sort Key1:=Range("B384"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Danke Dir für Deine Mühe.
Beste Grüße
Stefanie
Anzeige
AW: Datum automatisch sortieren
28.09.2005 12:07:30
Matthias
Hallo Stefanie,
wenn das Blatt keiner sieht, wozu dann sortieren?
Versuch mal:

Private Sub Worksheet_Activate()
Columns("A:H").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Oder zeichne das Sortieren mit dem Rekorder auf.
Gruß Matthias
Anzeige
AW: Datum automatisch sortieren
28.09.2005 15:32:10
Stefanie
Hallo Matthias,
ich bins noch mal. Jetzt funktioniert das Sortieren aber leider nicht ganz richtig. Der Code sieht wie folgt aus (mit Makrorekorder aufgezeichnet und eingefügt):

Private Sub Worksheet_Activate()
Range("B384:B433").Select
Range("A383:H433").Sort Key1:=Range("B384"), Order1:=xlAscending, Header _
:=xlGuess, OrderCustom:=8, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortTextAsNumbers
End Sub

Wenn ich es manuell über die Excel Sortierfunktion mache, dann fragt er mich ob er Zahlen auch als solche sortieren soll oder Text und Zahl extra sortieren soll. Das liegt daran, dass Jan. als Text gewertet und klar 2005 als Zahl gewertet wird. Wenn ich angebe Zahl als Zahl sortieren, dann klappt es auch. Doch leider klappt das nicht beim aufgezeichneten Makro. Dann steht Apr. 2005 oben dann kommt Feb.2005 etc. Hast Du ne Idee was ich VBA Code ändern muss, um die richtige Lösung zu erhalten?
Danke und beste Grüße
Stefanie
Anzeige
AW: Datum automatisch sortieren
28.09.2005 15:42:49
Matthias
Hallo Stefanie,
vielleicht hift das, aus der VBA-Hilfe:
DataOption1
Optionaler XlSortDataOption-Wert. Gibt an, wie der Text in Schlüssel 1 sortiert werden soll. Kann nicht zum Sortieren von PivotTable-Berichten verwendet werden.
XlSortDataOption kann eine der folgenden XlSortDataOption-Konstanten sein.
xlSortTextAsNumbers. Text für die Sortierung als numerische Daten behandeln.
xlSortNormal Standard. Sortiert numerische Daten und Textdaten getrennt.
Gruß Matthias
Anzeige
AW: Datum automatisch sortieren
28.09.2005 17:40:39
Stefanie
Hi Matthias,
habe nun ewig rumprobiert. Manuell über die Excel Sortierfunktion geht es aber mit dem Makro klappt es einfach nicht.
Ich danke Dir trotzdem vielmals für Deine Mühe mit meinem Problem.
Beste Grüße
Stefanie
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datum automatisch sortieren in Excel


Schritt-für-Schritt-Anleitung

Um in Excel automatisch nach Datum zu sortieren, kannst Du folgende Schritte befolgen:

  1. Öffne Deine Excel-Datei und gehe zu dem Tabellenblatt, das Du sortieren möchtest.

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

  3. Wähle im Projektfenster Dein Arbeitsblatt aus, in dem die Sortierung stattfinden soll.

  4. Füge den folgenden VBA-Code in das Codefenster ein:

    Private Sub Worksheet_Activate()
       Columns("A:D").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       DataOption1:=xlSortNormal
    End Sub

    Ändere die Spaltenangaben nach Bedarf, wenn Dein Datum nicht in Spalte A steht.

  5. Speichere Deine Änderungen und schließe den VBA-Editor.

  6. Teste die automatische Sortierung, indem Du das Arbeitsblatt aktivierst.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der angegebene Bereich in der Sortierung nicht korrekt ist. Stelle sicher, dass die Range korrekt angegeben ist und die Tabelle die erwarteten Daten enthält.

  • Tabellenblatt wird nicht aktiviert: Wenn das Tabellenblatt nicht sichtbar ist, wird die Sortierung nicht automatisch durchgeführt. In diesem Fall kannst Du die Sortierung beim Hinzufügen neuer Daten über ein Makro auslösen, das Du manuell startest.

  • Datumsformat nicht erkannt: Wenn Excel Datumsangaben als Text behandelt, kann dies zu falschen Sortierungen führen. Stelle sicher, dass alle Datumsangaben korrekt formatiert sind.


Alternative Methoden

Eine alternative Methode, um eine Excel-Tabelle automatisch nach Datum zu sortieren, ist die Verwendung der Datenüberprüfung und Pivot-Tabellen:

  1. Datenüberprüfung: Du kannst Datenüberprüfung verwenden, um sicherzustellen, dass nur Datumsangaben in die Tabelle eingefügt werden.
  2. Pivot-Tabellen: Eine Pivot-Tabelle kann auch sinnvoll sein, um Daten nach Datum zu aggregieren und automatisch zu sortieren.

Praktische Beispiele

Hier ist ein einfaches Beispiel für eine Excel-Tabelle, die automatisch nach Datum sortiert wird:

Datum Ereignis
01.01.2023 Neujahr
15.03.2023 Meeting
25.12.2023 Weihnachten

Wenn Du neue Zeilen hinzufügst, wird durch den oben genannten VBA-Code die gesamte Tabelle automatisch nach Datum sortiert, sobald das Arbeitsblatt aktiviert wird.


Tipps für Profis

  • Dynamische Bereiche: Verwende dynamische Bereiche in Deinem VBA-Code, um sicherzustellen, dass auch neue Daten erfasst werden.
  • Ereignisgesteuerte Makros: Du kannst Makros so einstellen, dass sie bei bestimmten Ereignissen (z.B. beim Speichern der Datei) ausgelöst werden.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in Deinem VBA-Code, um sicherzustellen, dass unerwartete Fehler abgefangen werden.

FAQ: Häufige Fragen

1. Wie kann ich in Excel automatisch nach Datum sortieren?
Du kannst dies mit VBA erreichen, indem Du den entsprechenden Sortiercode im Worksheet-Activate-Ereignis einfügst.

2. Funktioniert dies in jeder Excel-Version?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange Du Zugriff auf den VBA-Editor hast.

3. Was tun, wenn Excel das Datum nicht richtig sortiert?
Überprüfe das Datumsformat in Deiner Tabelle. Excel muss die Daten als Datumswerte und nicht als Text erkennen.

4. Kann ich die automatische Sortierung auch für andere Spalten verwenden?
Ja, Du kannst die Spaltenangaben im VBA-Code anpassen, um nach anderen Spalten zu sortieren.

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