Office: Daten in Abhängigkeit einer Spalte sortieren.

Helfe beim Thema Daten in Abhängigkeit einer Spalte sortieren. in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Denjiro, 17. Mai 2012.

  1. Daten in Abhängigkeit einer Spalte sortieren.


    Hallo!
     
    Zuletzt von einem Moderator bearbeitet: 13. September 2012
    Denjiro, 17. Mai 2012
    #1
  2. fette Elfe Erfahrener User
    fette Elfe, 17. Mai 2012
    #2
  3. Hallo!
     
    Zuletzt von einem Moderator bearbeitet: 13. September 2012
    Denjiro, 17. Mai 2012
    #3
  4. fette Elfe Erfahrener User

    Daten in Abhängigkeit einer Spalte sortieren.

    Mich auch.
    Ich habe den Fehler nicht gefunden.
     
    fette Elfe, 17. Mai 2012
    #4
  5. Ich schau einfach mal. Wenn ich eine Antwort finden sollte, werde ich sie hier posten.
     
    Denjiro, 17. Mai 2012
    #5
  6. Exl121150 Erfahrener User
    Hallo!

    [TABLE]
    <TBODY>[TR]
    [TD]Ich habe mir Dein Sortierverfahren angeschaut. Die Ursachen für das fehlerhafte Sortierverhalten sind mehrere Inkonsistenzen im Code. Ich bespreche im Folgenden nur den Datenblock der Spalten A:L, die restlichen Blöcke funktionieren analog:

    [TABLE]
    <TBODY>[TR]
    [TD]Dein Datenbereich liegt in A1:L325, wobei in Zeile 1 (teilweise) ein Header enthalten ist.
    [/TD]
    [/TR]
    [TR]
    [TD]Die I1-Variable, die die Spalte A absucht, enthält ein 1. Problem: Sie läuft von 2 bis 324 (und nicht bis 325). Dadurch werden folgende Bereiche gebildet:

    [TABLE]
    <COLGROUP><COL><COL width=151></COLGROUP><TBODY>[TR]
    [TD="bgcolor: #bfbfbf, align: left"]Key-Bereiche[/TD]
    [TD="bgcolor: #bfbfbf, align: left"]SetRange-Bereich[/TD]
    [/TR]
    [TR]
    [TD="align: left"]D1-D115[/TD]
    [TD="align: left"]A1:G115[/TD]
    [/TR]
    [TR]
    [TD="align: left"]D115-D233[/TD]
    [TD="align: left"]A115:G233[/TD]
    [/TR]
    [TR]
    [TD="align: left"]D234-D325 nicht!!![/TD]
    [TD="align: left"]A234:G325 nicht!!![/TD]
    [/TR]
    </TBODY>[/TABLE]

    [TABLE]
    <TBODY>[TR]
    [TD]
    [/TD]
    [/TR]
    [TR]
    [TD]Der 3. Bereich (Zeilen 234-325) wird überhaupt nicht sortiert, weil die Variable I1 nur bis 324 läuft. Dadurch
    [/TD]
    [/TR]
    [TR]
    [TD]gilt, dass date0=date1 (weil die Werte in A324 und A325 gleich sind) und somit wird keine weitere Sortierung für diesen 3. Datumsbereich
    [/TD]
    [/TR]
    [TR]
    [TD]ausgeführt.
    [/TD]
    [/TR]
    [TR]
    [TD][/TD]
    [/TR]
    [TR]
    [TD]Mir ist nicht klar, warum diese Sortierung überhaupt so kompliziert sein muss:
    [/TD]
    [/TR]
    [TR]
    [TD]Es müsste in diesem Fall ja genügen, nur 1 Sortiervorgang durchzuführen mit 2 Sortierkriteriumsspalten:
    [/TD]
    [/TR]
    [TR]
    [TD]Spalte A enthält die übergeordneten Sortierwerte und Spalte D die untergeordneten Sortierwerte.
    [/TD]
    [/TR]
    [TR]
    [TD]Dadurch würde sich folgendes Sortiermakro für den Bereich A1:L325 (bzw. A1:G325) ergeben:
    Code:
         ende1 = Range("A1048576").End(xlUp).Row
         With ws1.Sort
           With .SortFields
             .Clear
             .Add Key:=Range("A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
             .Add Key:=Range("D:D"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
           End With
           .SetRange Range("A2:G" & ende1)
           .Header = xlNo
           .MatchCase = False
           .Orientation = xlTopToBottom
           .SortMethod = xlPinYin
           .Apply
         End With
    
    [/TD]
    [/TR]
    </TBODY>[/TABLE]
    [/TD]
    [/TR]
    </TBODY>[/TABLE]
    [/TD]
    [/TR]
    </TBODY>[/TABLE]
     
    Exl121150, 18. Mai 2012
    #6
  7. Hallo!
     
    Zuletzt von einem Moderator bearbeitet: 13. September 2012
    Denjiro, 18. Mai 2012
    #7
  8. Daten in Abhängigkeit einer Spalte sortieren.

    @Exl121150
     
    Zuletzt von einem Moderator bearbeitet: 13. September 2012
    Denjiro, 21. Mai 2012
    #8
  9. Exl121150 Erfahrener User
    Hallo!

    Wie sieht es aus, wenn Du die DataOption des 1. Sortfield von "xlSortNormal" auf "xlSortTextAsNumbers" änderst?
    Code:
         ende1 = Range("A1048576").End(xlUp).Row
         With ws1.Sort
           With .SortFields
             .Clear
             .Add Key:=Range("A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
             .Add Key:=Range("D:D"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
           End With
           .SetRange Range("A2:G" & ende1)
           .Header = xlNo
           .MatchCase = False
           .Orientation = xlTopToBottom
           .SortMethod = xlPinYin
           .Apply
         End With
    
     
    Exl121150, 21. Mai 2012
    #9
  10. Exl121150 Erfahrener User
    Hallo!

    Ich stellte leider fest, dass eine Änderung der DataOption auch leider nicht hilft.
    Das einfachste Verfahren wäre meiner Meinung nach folgendes:

    In die 1. Spalte, die bisher nicht sortiert wird, das wäre die Spalte H, eine eindeutiges, korrektes Datum speichern und anhand dieses Datums (statt der Spalte A) die Sortierung im 1. Sortierfeld durchzuführen.
    Da in Deinem VBA-Code ohnehin schon eine dafür taugliche Funktion (GetDate) enthalten ist, die in der Lage ist, aus den Werten der Spalte A einen gültigen Datumswert zu liefern, wäre das ja eine einfache Aufgabe.

    Diese Funktionalität habe ich bereits im folgenden Makro eingebaut (enthalten in der 2. Codezeile); darüber hinaus habe ich den SetRange-Bereich auf die Spalte H ausgedehnt:
    Code:
         ende1 = Range("A1048576").End(xlUp).Row
         Range("H2:H" & ende1).FormulaR1C1 = "=GetDate(RC[-7])"
         With ws1.Sort
           With .SortFields
             .Clear
             .Add Key:=Range("H:H"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
             .Add Key:=Range("D:D"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
           End With
           .SetRange Range("A2:H" & ende1)
           .Header = xlNo
           .MatchCase = False
           .Orientation = xlTopToBottom
           .SortMethod = xlPinYin
           .Apply
         End With
    
     
    Exl121150, 21. Mai 2012
    #10
  11. fette Elfe Erfahrener User
    Hallo Denjiro und Exl,

    ich muss mal meinen Senf dazu geben...
    Nach mehreren Tests mit verschiedenen Daten hat sich meine anfängliche Vermutung in meinen Augen bestätigt, wie man hier schön sehen kann:
    [TABLE="width: 168"]
    <colgroup><col></colgroup><tbody>[TR]
    [TD]01.01. - 30.01.2004[/TD]
    [/TR]
    [TR]
    [TD]01.01. - 30.01.2005[/TD]
    [/TR]
    [TR]
    [TD]01.02. - 30.02.2004[/TD]
    [/TR]
    [TR]
    [TD]01.02. - 30.02.2005[/TD]
    [/TR]
    [TR]
    [TD]01.03. - 30.03.2004[/TD]
    [/TR]
    [TR]
    [TD]01.03. - 30.03.2005[/TD]
    [/TR]
    [TR]
    [TD]01.04. - 30.04.2004[/TD]
    [/TR]
    [TR]
    [TD]01.04. - 30.04.2005[/TD]
    [/TR]
    [TR]
    [TD]01.05. - 30.05.2004[/TD]
    [/TR]
    [TR]
    [TD]01.05. - 30.05.2005
    [/TD]
    [/TR]
    </tbody>[/TABLE]

    Den Datumsbereich in eine Zelle schreiben ist keine gute Idee, denn so wird kein Datum daraus, sondern Text.
    Genau deshalb hatte Denjiro ja auch zuerst die Funktion benutzt um den String zu zerlegen und ein Datum auszulesen.

    Es hat nichts damit zu tun, dass sich die Größe der Ausschreibungszeiträume verändert (dadurch ist es nur aufgefallen), sondern es liegt daran, dass wenn man "01.05. - 30.05.2004" als kompletten String betrachtet, der direkt darauf folgende dieser "01.05. - 30.05.2005" wäre.
    Beachtet die letzte Stelle.

    Anstatt, wie Exl vorschlägt zusätzliche Hilfsspalten einzuführen, würde ich direkt beim Datenimport den Zeitraum auf zwei Spalten verteilen, dann kann man auch wieder mit den Datumsen - Datums - Datümer - Daten... (ja wie denn nun?) rechnen.


    Genug Senf, hat jemand noch ne Wurst dazu???
     
    fette Elfe, 22. Mai 2012
    #11
Thema:

Daten in Abhängigkeit einer Spalte sortieren.

Die Seite wird geladen...
  1. Daten in Abhängigkeit einer Spalte sortieren. - Similar Threads - Daten Abhängigkeit Spalte

  2. Excel 2016 Daten vom Datum abhängig anzeigen

    in Microsoft Excel Hilfe
    Excel 2016 Daten vom Datum abhängig anzeigen: Liebe Community, nach einer ersten Tabelle mit viel Unterstützung von Klaus-Dieter, vielen Dank hierfür noch mal, habe ich die Tabelle umstrukturiert und für andere Zwecke entfremdet....
  3. Zeilen kopieren, mehrmals einfügen in Abhängigkeit von weiteren Daten

    in Microsoft Excel Hilfe
    Zeilen kopieren, mehrmals einfügen in Abhängigkeit von weiteren Daten: Liebe Foren-Mitglieder! Ich bin hier auf einen Beitrag aus dem Jahr 2009 gestoßen mit dem Titel "zeile kopieren und mehrmals einfügen". Dabei wurde ein Code erstellt, der Zeilen in ein anderes...
  4. Daten in Abhängigkeit vom Datum übertragen

    in Microsoft Excel Hilfe
    Daten in Abhängigkeit vom Datum übertragen: Hallo Zusammen, ich steh vor einem Problem bei dem ich nicht so recht weiterkomme. Ich möchte gern, dass die Daten meiner Anwesenheitsliste auf einer Tagesübersicht (anderes Tabellenblatt)...
  5. abhängige Kombinationsfelder mit Daten aus derselben Tabelle im Formular

    in Microsoft Access Hilfe
    abhängige Kombinationsfelder mit Daten aus derselben Tabelle im Formular: Hallo, ich habe wahrscheinlich das ganze Internet abgesucht und hab verschiedene Lösungsansätze ausprobiert, nur leider hat nichts geklappt. Wie ihr dem Titel entnehmen könnt, handelt es sich um...
  6. Abfrage von Daten über Arbeitsblätter per Dropdownboxen

    in Microsoft Excel Hilfe
    Abfrage von Daten über Arbeitsblätter per Dropdownboxen: Hallo zusamenn. Ich brauche euren Rat, ich komme nicht mehr weiter. Und zwar geht es um die Abfrage von Daten über drei Arbeitsblätter (als Beispiel ). In Blatt 2 stehen Namen für Combobox...
  7. DropDown abhängig und Daten anzeigen

    in Microsoft Excel Hilfe
    DropDown abhängig und Daten anzeigen: Hallo Ich weiß nicht ob ich mich verständlich ausgedrückt habe. Ich habe verschiedene Fahrzeuge ( Doka Lkw Pkw usw) und zu jeden Fahrzeug Typ einzelne Typen ( Doka 1 Doka2 Doka... Lkw 1-27...
  8. Sortierung der Daten abhängig von einem Eintrag im Formular

    in Microsoft Access Hilfe
    Sortierung der Daten abhängig von einem Eintrag im Formular: Guten Tag, Nun bin ich an Access dran - es ist ein ziemlich umfangreiches Projekt an dem ich gerade sitze ;). Ich möchte 4 Tabellen erstellen (Anlieferung Firma, Anlieferung Privat, örE und...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden