Automatisches Sortieren bei Eingabe

Dieses Thema Automatisches Sortieren bei Eingabe im Forum "Microsoft Office Suite" wurde erstellt von Fabruno, 16. Jan. 2012.

Thema: Automatisches Sortieren bei Eingabe Hallo Zusammen Folgendes Problem: Eine Tabelle soll nach einem Status a oder b sortiert werden. Nun sollen die...

  1. Hallo Zusammen

    Folgendes Problem:
    Eine Tabelle soll nach einem Status a oder b sortiert werden.

    Nun sollen die Zeilen mit a oben stehen und die Zeilen mit b unten.

    Nun sollten diese 2 Bereiche auch noch nach einer Nummer sortiert werden...

    Beispiel:

    vorher:
    [table]
    [tr][td]D1 [/td][td]b[/td][/tr]
    [tr][td]D3 [/td][td]a[/td][/tr]
    [tr][td]D7 [/td][td]b[/td][/tr]
    [tr][td]D2 [/td][td]a[/td][/tr]
    [tr][td]D4 [/td][td]b[/td][/tr]
    [/table]

    nachher:
    [table]
    [tr][td]D2 [/td][td]a[/td][/tr]
    [tr][td]D3 [/td][td]a[/td][/tr]
    [tr][td]D1 [/td][td]b[/td][/tr]
    [tr][td]D4 [/td][td]b[/td][/tr]
    [tr][td]D7 [/td][td]b[/td][/tr]
    [/table]

    wobei die Zeilen noch länger sind..

    Sieht da gerad wer eine Lösung?

    MFG Fabruno
     
  2. Vorausgesetzt D1/2/3... steht in einer Spalten und a/b in einer anderen, dann sortierst du erst aufsteigend nach der D-Spalte und danach aufsteigend nach der a/b-Spalte.

    Wenn die Voraussetzung nicht gegeben ist, solltest du sie schaffen.

    Nochwas zum Sortieren, weil du Anfänger zu sein scheinst: um nach einer Spalte zu sortieren, darf nur eine einzige Zelle aus dieser Spalte markiert sein. Auf keinen Fall darf die ganze Spalte markiert sein, sonst sortierst du nur diese Spalte und die anderen Spalten bleiben in der gleichen Reihenfolge wie vorher. Somit reißt du deine Zeilen auseinander.

    Probier erstmal mit einer einfachen Beispieltabelle.
     
  3. Hallo Fabruno,

    kannst du eine kleine Beispieldatei bereitstellen, oder genaue Angaben machen, zu deinem Vorhaben?

    Möchtest sicher eine Makrolösung, aber mit deinen sehr ungenauen Angaben? :'(

    Immer eine genaue Beschreibung, sonst zieht sich das Ganze über Tage hinweg und erfordert einige Nachfragen und Änderungen.
    Das einzige was zur Zeit fest steht, ist die Spalte D mit den Einträgen A und B. :1
    Alle anderen Angaben sind in der Schwebe, ebenso deine Excel- Version. :|
     
  4. Hallo Zusammen,

    Entschuldigt die fehlenden Infos.
    Ich benutze Excel 2010

    Hier habe ich zwei Beispielsdateien zum Download bereitgestellt. Eine Mappe unsortiert, die andere wie sie sortiert sein sollte (vorher -> nachher).
    Die Spalte C enthält lediglich einen zur Zeile dazugehörigen Namen, der mitsortiert werden sollte, halt eben die ganze Zeile -.-
    Die Nummerierung in Spalte A ist etwas eigenartig, leider kann ich diese aber nicht ändern. Es steht immer ein D vor der Zahl :), hat wohl etwas verwirrt...

    Am schönsten wäre es wenn ein Wert geändert wird, sich die Tabelle gleich anpasst... Keine Ahnung ob das einfach realisierbar ist, sonst eben mit einer Tastenkombination oder einem Button.


    http://www.coffeeflash.ch/schule/Beispiele.zip


    Gruss Fabruno
     
  5. Hallo Fabruno,

    das folgende Makro im Makrobereich der Tabelle1 der Beispieldatei - Datei einfügen.

    Da ich nur Excel XP(2000) habe, kann ich dir keine detaillierte Vorgangart dazu geben, wenn du schon mit Makros gearbeitet hast, wäre das eine Hilfe.

    Bei Excel XP, geht das folgender Maßen.
    Rechtsklick auf den Tabellenreiter (Tabelle1) und Code anzeigen wählen, im Rechten - Makrobereich, den Code einfügen und testen.
    Wenn sich Spalte B durch eine Eingabe von a, oder b ändert, dann wird das Makro ausgelöst und Sortiert, bei allen anderen Eingaben <> a, oder b wird nicht Sortiert.

    Code:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      Dim objRange As Range, objCell As Range
      Set objRange = Intersect(Target, Range(B:B))->Bereich anpassen
      If Not objRange Is Nothing And objRange = a Or objRange = b Then
      
    Cells.Select
      Selection.Sort Key1:=Range(B2), Order1:=xlAscending, Key2:=Range(A2) _
        , Order2:=xlAscending, Key3:=Range(C2), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
        xlSortNormal
      Range(D2).Select
    
      End If
    End Sub
    
     
  6. Hallo zusammen,

    die Prüfung muß getrennt werden, da in VBA immer alle Bedingungen geprüft werden.
    z.B. Eingabe in die nächste frei Zelle in Spalte A führt zu Error, da objRange Nothing ist und dann noch die Ptüfung objRange=a erfolgt.

    Also so:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      Dim objRange As Range, objCell As Range
      Set objRange = Intersect(Target, Range(B:B))->Bereich anpassen
      If Not objRange Is Nothing Then
       If objRange = a Or objRange = b Then
      
       Cells.Select
       Selection.Sort Key1:=Range(B2), Order1:=xlAscending, Key2:=Range(A2) _
        , Order2:=xlAscending, Key3:=Range(C2), Order3:=xlAscending, Header:= _
        xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
        xlSortNormal
       Range(D2).Select
    
       End If
      End If
    End Sub
    Gruß Matjes :)
     
  7. Hallo Matjes,

    vielen Dank für die Info und Korrektur! :1
     
  8. Hallo zusammen,

    da ist noch ein Haken: Spalte A (D1, D2, ..., D10) wird leider alphabetisch sortiert (D1,D10,D2 ...)

    @Fabruno: Das könnt man ändern, indem man die Zahlen mit führenden Nullen schreibt,
    also D0001, D0002, D0010 ergibt sortiert D0001, D0002, D0010.

    Gruß Matjes :)
     
  9. Abend miteinander,

    Ich danke für die ausführlichen Antworten, werde das morgen früh gleich in die Tat umsetzen. Die Nummerierung sollte ich soweit anpassen können.

    Ich hoffe mich in diesem Forum mal für die Hilfe revanchieren zu können :-\

    MFG Fabruno
     
  10. Funktioniert einwandfrei! :D
     
Die Seite wird geladen...

Automatisches Sortieren bei Eingabe - Ähnliche Themen

Forum Datum
Automatisches Downgrade auf Windows 7 nach Installation von Windows 10 Windows 10 Forum 14. Juli 2016
Automatisches ausdrucken bestimmter Spalten in Excel Software: Empfehlungen, Gesuche & Problemlösungen 18. Juli 2014
kein automatisches Update möglich Windows 7 Forum 8. Feb. 2014
Anmeldungsinformationen für Automatisches Anmelden Speichern. Software: Empfehlungen, Gesuche & Problemlösungen 13. Dez. 2011
Routing: automatisches Fallback auf zweite Route Windows XP Forum 17. Okt. 2011