Daten sofort bei Eingabe sortieren

Das nachfolgende Makro sortiert alle in einem Tabellenblatt eingegebenen Werte automatisch nach den Werten der Spalte A aufsteigend. Dabei werden die Zellen A1 bis A100 berücksichtigt. Die Sortierung erfolgt sofort nach Bestätigung der neu erfassten Werte.

Private Sub Worksheet_Change(ByVal Target As Range)

'Beschränken der Makroausführung auf den Bereich A1 bis A100
If Not Application.Intersect(Target, Range("A1:A100")) Is Nothing Then
    
    'Bereich, auf den sich die Sortierung auswirken soll
    Range("A1:A100").Select

    'Sortierkriterien
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom

    'Zelle A1 auswählen
    Range("A1").Select

End If

End Sub
 

 

Bei diesem Beispiel werden nur die Werte der Spalte A sortiert. Werte ab der Spalte B werden in die Sortierung nicht mit einbezogen.
Möchten Sie die Sortierung für mehrere Spalten ausdehnen, d. h. die Sortierkriterien stehen nach wie vor in Spalte A nur sollen auch alle nebenstehenden Spalten entsprechend mit sortiert werden, da es sich um einen zusammengehörenden Datensatz handelt, so müssen Sie die Sortierkriterien wie folgt anpassen.

In dem nachfolgenden Beispiel werden die Spalten A bis E nach der Spalte A in aufsteigender Reihenfolge sortiert.



Private Sub Worksheet_Change(ByVal Target As Range)

'Beschränken der Makroausführung auf den Bereich A1 bis A100
If Not Application.Intersect(Target, Range("A1:A100")) Is Nothing Then
    
    'Bereich, auf den sich die Sortierung auswirken soll
    Range("A1:E100").Select

    'Sortierkriterien
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom

    'Zelle A1 auswählen
    Range("A1").Select

End If

End Sub

 

 

Relevante Artikel

  • Doppelte Datensätze finden und farbig markieren (in unsortierer Liste)

      Funktionsweise und Einsatzzweck Unten im Artikel finden Sie das VBA-Makro, welches Excel-Listen systematisch nach doppelten...

  • Leere Zeilen aus einer Tabelle entfernen

    Mit Hilfe des VBA-Codes aus diesem Beispiel können Leerzeilen aus einem Tabellenblatt entfernt werden. Werden Daten...

  • Array-Bereich direkt in Zell-Bereich schreiben

    Sie kennen sicherlich den gewohnten Umgang (schreiben und lesen) mit Array-Variablen. Normalerweise wird jeder Eintrag der...

  • Zeilen (Einträge) abhängig vom Datum löschen

    Aus diesem Datenbestand sollen die Zeilen gelöscht werden, deren Datum in Spalte A im Monat November liegt.     A B C D 1 12.08.2002 daten daten daten 2 15.08.2002 daten daten daten 3 20.08.2002 daten daten daten 4 12.09.2002 daten daten daten 5 15.09.2002 daten daten daten 6 20.09.2002 daten daten daten 7 12.10.2002 daten daten daten 8 15.10.2002 daten daten daten 9 20.10.2002 daten daten daten 10 15.11.2002 daten daten daten 11 15.11.2002 daten daten daten 12 15.11.2002 daten daten daten 13 15.11.2002 daten daten daten 14 12.12.2002 daten daten daten 15 15.12.2002 daten daten daten 16 20.12.2002 daten daten daten Nach...

  • Zufallszahlen ermitteln

    Zufallszahlen ohne Wiederholung in Excel VBA Mit diesem VBA Makro erzeugen Sie in Excel Zufallszahlen ohne Wiederholung....

    Wir benutzen Cookies
    Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.