Anzeige
Archiv - Navigation
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortierung

Sortierung
11.12.2002 11:56:53
Daniel
Hallo,

ich habe leider nicht wirklich Ahnung vom Programmieren aber bräuchte dringend einen Makro, an dem ich bis jetzt verzweifelt bin.

Ich habe ein Tabellenblatt mit Spalten von A bis AY und möchte jeweils Blöcke von 6 Zeilen der Spalten G bis AQ spaltenweise aufteigend sortieren. Also z.B. die Zeilen 3-8, 9-14, etc.

Die Sortierung soll prinzipiell nach der 3. Zeile jedes Blockes erfolgen (Zeile 5, 11, 17, etc.).
Steht jedoch in der Spalte C der 5. oder 6. Zeile eines jeden Blockes "Summe", so soll nach der entsprechenden Zeile sortiert werden. (Steht in C7 "Summe, soll nach Zeile 7 sortiert werden, steht in C8 "Summe", dann nach Zeile 8 -> schließen sich gegenseitig aus).

Die Sortierung soll entweder bis zu einer bestimmten Zeile fortgeführt werden oder noch besser automatisch abbrechen, wenn in der Spalte A einer Zeile irgendwann kein Wert mehr steht.

Ich hoffe es ist klargeworden was ich mir von dem Makro erhoffe.
Ich weiß, dass das keine großartige Herausforderung sein sollte (?) aber ohne wirkliche Programmierkenntnisse kann man sich schon ganz schön die Zähne ausbeißen!

Im voraus vielen Dank für die Hilfe!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Sortierung
11.12.2002 12:10:08
Andreas Schindler
HI Daniel,

das kannst Du auch ohne Makro lösen.

Eine versteckte Spalte einfügen
In die Zeilen 3-8 schreibst Du jeweils eine 1
in Zeile 9 (in der die Summe steht) eine 2
in zeile 10 - 15 jeweils eine 3
in Zeile 16 eine 4
und so weiter.

Dann kannst Du erstmal alles sortieren wie Du es möchtest und um die Summenzeilen wieder in die richtigen Positionen zu bekommen sortierst Du anschließend die "versteckte" Spalte nach aufsteigenden Werten. Dann ist innerhalb der Summenblöcke alles richtig sortiert.

Viele Grüße
Andreas

Re: Sortierung
11.12.2002 12:21:50
Daniel
Hallo Andreas,

vielen Dank für die schnelle Antwort.

Aber das Problem ist, dass ich innerhalb der Blöcke spaltenweise sortiere. Und das nach unterschiedlichen Zeilen. Aber vertauscht werden die Spalten.

Und den Makro brauche ich, da ich am Ende vielleicht 80 Blöcke habe und diese wegen des Aufwands nicht alle spaltenweise ständig neu sortieren möchte, da sich die die verknüpften Werte häufig ändern.

Gruß,

Daniel

Anzeige
Re: Sortierung
11.12.2002 12:25:54
Andreas Schindler
HI Daniel,

das geht natürlich auch mit Spaltensortierungen. Dann mußt Du dieses Dinger zudem noch in eine Zeile reinschreiben.
Wichtig ist, daß diese Spalten und Zeilen immer mitsortiert werden, dann kannst Du daraus immer wieder einen "sauberen" Zustand generieren.

Wenn es nicht klappt:

schick mir mal ein Beispiel ich schau es mir an:

andreas.j.schindler@t-online.de

Gruß
Andreas

Re: Sortierung
11.12.2002 12:46:37
Daniel
Hallo Andreas,

ich glaube ich habe das Problem noch zu ungenau beschrieben.

In der jeweils ersten Zeile eines jeden Blocks stehen Namen. Z.B. Daniel, Andreas, Stefan, etc.

Darunter befinden sich 5 Zeilen mit zugeordneten Werten.

Z.B. Alter, Größe, Gewicht.

In jedem Block stehen aber verschiedene Werte zu den gleichen Personen. (angenommen Größe, Alter und Gewicht eines jeden Lebensjahres der Personen stehen in einem Block)

Prinzipiell sollen alle Blöcke nach der Größe der Personen sortiert werden. Die kleinste Person soll also immer links, die größte Person immer rechts stehen.

Eine Ausnahme besteht, wenn in dem Feld in der Zeile neben dem Attribut (Alter, Gewicht) meinetwegen ein "X" steht. Dann soll nur dieser Block nach dem entsprechenden Attribut sortiert werden, also z.B. nach dem Gewicht. D.h. die leichteste Person steht ganz links, die schwerste rechts. Die Größe solle nicht mehr brücksichtigt werden.

Da sich die Daten aber leider immer wieder ändern und ich die Blöcke nicht immer alle per Hand neu sortieren will, soll das auf Knopfdruck automatisch per Makro geschehen. Und auch den reinen Sortiermakro ohne weiteren Bedingungen kriege ich leider nicht hin.

Ich hoffe, es ist etwas klarer geworden, was ich will,

schönen Gruß,

Daniel

Anzeige
Re: Sortierung
11.12.2002 13:47:51
Andreas Schindler
Hi Daniel,

dann wird das Ganze natürlich echt knifflig.
Du gehst mittlerweile in Bereiche, wo es sinnvoller wäre mit Access zu arbeiten. Das sieht mir sehr nach einer Aufgabe für eine relationale Datenbank aus.

Eine Frage noch:

Warum muß das immer sortiert sein. Wenn Du nur die Reihenfolge wissen willst, brauchst Du den Kram nicht sortieren. Dann kannst Du auch einfach mit der Funktion RANG() arbeiten. Wenn Du dann z.B. jeweils den erstplazierten irgendwo anzeigen möchtest, kannst Du die Werte mittels INDIREKT() abhängig von der jeweiligen Rangposition anzeigen lassen.

Sollte das auch nicht klappen würde ich Dir tendenziell eher zur Verwendung von Access raten oder Du überlegst Dir wirklich nochmal, ob man die Tabelle nicht irgendwie noch umstrukturieren kann.

Viele Grüße
Andreas

Anzeige
Re: Sortierung
12.12.2002 09:21:15
Daniel
Hallo Andreas,

Access fällt leider aus, denn die Datentabelle dient als Grundlage für einen Haufen Diagramme. Dafür brauche ich auch die Sortierung. Ich habe mir über die Struktur schon eine ganze Menge Gedanken gemacht und anders als so wie beschrieben geht es nicht.

Aber ist es den wirklich so kompliziert?

Im FAQ habe ich gefunden, wie ich mehrere Tabellenblattbereiche unabhängig voneinander sortieren kann:

Sub MultiSort()
Dim iRow As Integer
For iRow = 1 To 19 Step 6
Range(Cells(iRow, 1), Cells(iRow + 4, 8)).Sort _
key1:=Cells(iRow + 1, 7), _
order1:=xlAscending, header:=xlYes
Next iRow
End Sub

Eigentlich müßte hier doch nur geändert werden, dass nicht ganze Zeilen sondern nur von Spalte G bis AQ sortiert wird.

Und dann müßten zwei IF-Abfragen rein, die den Inhalt der Zelle C7, C8 und im nächsten Block C 19 und C20 (usw.) abfragen, was nach dem Schema oben durch Hochsetzen einer Variablen als Zellbezug doch funktionieren könnte und wenn "Summe" dasteht eben nach der entsprechenden Reihe sortieren.

Eigentlich müßte das doch so funktionieren, oder? Ich weiß leider nur nicht, wie ich das programmieren soll.

Viele Grüße,

Daniel

Anzeige
Immer noch Hilfe benötigt!
12.12.2002 11:15:09
Daniel
Habe leider immer noch keine Lösung!

Vielleicht kann ja doch noch jemand helfen!

Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige