gabeomania
Goto Top

Tabelle in Excel nach der Häufigkeit des Vorkommens sortieren

Hallo, ich habe eine frage zu Excel2003 unter WinXP,
und zwar:

Normalerweise kann man ja tabellen nach alphabet oder größe des zahlenwerts sortieren. ich möchte aber meine tabelle nach häufigkeit der vorkommnisse in einer bestimmten spalte sortieren. am besten lässt es sich wohl anhand eines bespiels erläutern:

A BC D E F
1 x xx a z Blindtext 2
2 x xx b z Blindtext 2
3 x x x b z Blindtext 2
4 x xx c x Blindtext 2
5 x x x c x Blindtext 2
6 x x x cx Blindtext 2

die tabelle ist nun nach häufigkeit der werte in spalte D zu sortieren, dabei ist es wichtig, dass die einzelnen reihen zusammenbleiben.
die neue tabelle müsste fertig sortiert also folgendermaßen aussehen:

A BC D E F
1 x xx c x Blindtext 2
2 x xx c x Blindtext 2
3 x x x c x Blindtext 2
4 x xx b z Blindtext 2
5 x x x b z Blindtext 2
6 x x x az Blindtext 2

in spalte D befinden sich viele unterschiedliche werte und die liste ist sehr lang.

ich hab natürlich das problem schon gegooglet und folgendes gefunden:

Sub CountIfSort()
Dim intRow As Integer, intCounter As Integer, intArr As Integer
Range("A1").Sort key1:=Range("A1"), order1:=xlAscending, header:=xlNo
Range("B1").Formula = "=countif(A:A;A1)"
Range("B1:B" & Range("A1").CurrentRegion.Rows.Count).FillDown
Range("A1").Sort key1:=Range("B1"), order1:=xlDescending, header:=xlNo
Columns("B").ClearContents
End Sub


Dieses Makro sortiert anscheinend nach häufigkeit in spalte A. aber ich versteh das nicht ganz und vor allem wozu brauch ich da im quellcode ständig spalte B? da stehen doch bei mir eh ganz andere werte drin?
Also, wer kann mir helfen den Code auf Spalte D zu ändern?

Content-Key: 144009

Url: https://administrator.de/contentid/144009

Printed on: April 19, 2024 at 17:04 o'clock

Member: TheEternalPhenom
TheEternalPhenom Jun 02, 2010 at 06:05:25 (UTC)
Goto Top
Hallo gabeomania,

was es mit diesem Code von dir auf sich hat kann ich dir im Moment nicht sagen, bin noch zu müde -_-


Sub Sortieren_a-z()

    Range("A1:F7").Select  
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear  
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("D1:D7") _  
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Tabelle1").Sort  
        .SetRange Range("A1:F7")  
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



Sub sortieren_z-a()

    Range("A1:F7").Select  
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear  
    ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("D1:D7") _  
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Tabelle1").Sort  
        .SetRange Range("A1:F7")  
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


Ein Tipp am Rande, die Makro Möglichkeit Makros unter Excel aufzuzeichnen hilft manchmal Wunder. Neben einem Denkanstoß findet man hier oftmals schon die Lösung. Also Beispiel kann ich die beiden Codes zeigen.

Ich hoffe ich konnte dir etwas helfen, trotz meines fehlenden Schlafes.

Gruß

duffman521
Member: gabeomania
gabeomania Jun 02, 2010 at 07:48:45 (UTC)
Goto Top
oh ok, ich habs aber in der zwischenzeit schon gelöst. die lösung ist zwar nicht so schön, aber sogar ich bekomme sie hin.
ich hab die funktion =ZÄHLENWENN() verwendet und dann die Tabelle nach dem ergebnis dieser absteigend sortiert.

jetzt hab ich aber schon eine neue frage,
wie kann ich allen zellen in einer spalte den gleichen text voranfügen?
ich hab es mit der makro-aufzeichnung versucht, werde aber nicht schlau daraus.
Member: Biber
Biber Jun 02, 2010 at 19:01:02 (UTC)
Goto Top
[OT]
Zitat von @gabeomania:
oh ok, ich habs aber in der zwischenzeit schon gelöst. ...

jetzt hab ich aber schon eine neue frage,
wie kann ich {whatever jetzt oben auf meiner ToDo-Liste nach oben gerutscht ist} ?

Ich geb dir mal einen Tipp, wie ich es im Forum am liebsten handhabe, wenn jemand mit dem berühmten Zitat "And now something completely different...." einfach weiterzuschreiben....

---> Ich habe diesen Beitrag mal auf "Erledigt" gesetzt.

Aber neue Beiträge sind immer willkommen...

Grüße
Biber

*+* Dieser Kommentar wird nach signalisierter Einsicht des Threadowners wieder entfernt. *+*
[/OT]