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

  • 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...

  • Autofilter: Gefilterte Datensätze auslesen

    In diesem Artikel erläutern wir, wie sich der über einen Autofilter gefilterte Inhalt aus einer Liste auslesen lässt. Als...

  • Zellen mit Formeln, Zahlen oder Text farbig markieren

    Der VBA-Code in Variante 1markiert alle Zellen im benutzten Bereich farbig, die eine Formeln enthalten. Die Variante 2...

  • Doppelte Einträge in eigene Spalte extrahieren

    Dieses Makro extrahiert in Spalte B alle Daten, die doppelt vorhanden sind. Nur in Spalte A nicht doppelt vorhandene...

  • Trennen von Zellinhalten - Text in Spalten

    Dieses Beispiel zeigt, wie Zellinhalte die sich fortlaufend in einer Zelle befinden getrennt werden können. Voraussetzung...

    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.