Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Daten sofort bei Eingabe sortieren

101080



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 abhängig von einer Bedingung ausblenden

    101081 Dieses Makro blendet Zeilen abhängig von einer Bedingung aus. In diesem Beispiel wird geprüft ob zwischen den Zeilen 1 und 100 in der Spalte A ein Wert steht oder nicht. Wenn kein Wert in...

  • Absolute in relative Zellbezüge umwandeln und umgekehrt

    101067 Die folgenden Makros wandeln vorhandene Zellbezüge in absolute bzw. relative Bezüge um. Zur Umwandlung von relativen Zellbezüge in absolute Bezüge, kann das Makro "absolut" verwendet...

  • Cells- zur Range-Schreibweise umwandeln

    101005   Mit dieser Funktion können Sie die die Cells-Schreibweise, z. B. Cells(1, 2) in die Range-Schreibweise z. B. Range("B1") umwandeln.   Sub umwandeln() Adresse = Cells2Range(1, 1) MsgBox Adresse End...

  • 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 Ausgangsbasis dient wieder einmal eine Artikelliste mit etwas mehr als 25...

  • Hyperlinks per VBA auslesen

    101083 Mit diesem Makro können alle Hyperlinks eines definierten Zellbereichs ausgelesen werden. Das Makro durchforstet in diesem Beispiel die Spalte A und listet die Ergebnisse, also alle...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013