Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

sehr kniffliges sortierproblem!

sehr kniffliges sortierproblem!
02.03.2003 22:48:08
gerd
hallo liebes forum !!

die zellen in spalte a sehen folgendermassen aus:

G6
leere Zelle
J2
K9
T4
leere Zelle
leere Zelle
A3

nun will ich die leeren zellen rauskürzen und das mache ich einem einfachen
Sheets("tabelle1").Range("a1:a20").Sort Key1:=Range("a1"), Order1:=xlDescending

klappt auch alles prima!
die zellen mit einem inhalt stehen oben und die leeren zellen sind unten.
nun würde ich aber gerne die zellen nach der zahl sortieren. d.h. jede zelle hat als inhalt einen buchstaben und eine zahl und in obigem beispiel sollte das ergebnis so aussehen:

K9
G6
T4
A3
J2

ich habe es so versucht:
Sheets("tabelle1").Range("a1:a20").Sort Key1:=Right(Range("a1"), 1), Order1:=xlDescending

aber das geht leider nicht... hat jemand eine idee, wie man es ohne grosse umwege (zeitsparend) nach der grösse sortieren kann ?

vielen dank!!!

gruss gerd

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: sehr kniffliges sortierproblem!
02.03.2003 23:00:46
Boris
Hi Gerd,

lager die Zahlen in eine separate benachbarte Spalte mit Right([A1], 1) aus, sortiere nach dieser neuen Spalte und lösche diese neue Spalte dann wieder.

Gruß Boris

ich habe mal folgendes probiert:
02.03.2003 23:02:13
gerd
und zwar habe ich die zahlen und buchstaben testweise umgedreht.
da ist mir aufgefallen, dass excel wohl immer nur nach dem ersten zeigen von links sortiert. egal, ob es eine zahl oder ein buchstabe ist.
wenn ich nämlich einen neuen wert eingefügt habe, der dann 10,5Z heisst, hat excel ihn trotzdem unten einsortiert, weil nur die 1 zur sortierung benutzt wurde und nicht die 10,5.

naja, das ist leider keine lösung zu meinem problem, aber ich konnte es vielleicht etwas eingrenzen. daher bleibt die frage offen:
wie kann ich excel sagen, dass nach ein paar bestimmten zeichen sortiert werden soll ?

hoffentlich kann mir jemand direkt sagen, wie es geht, oder dass es nicht möglich ist. dann brauche ich mir den kopf nicht zu zerbrechen! ;-)

gruss gerd

Anzeige
das geht leider nicht!
02.03.2003 23:04:21
gerd
hallo boris,

leider kann ich nichts auslagern, weil mein problem in einer grossen tabelle ist, wo ich leider nichts verschieben kann!

es sollte (wenn es möglich ist) in einer spalte gehen. sonst muss ich mein ganzes sheet neu gestalten! :(

trotzdem danke!!

gruss gerd

Noch offen
02.03.2003 23:06:40
Boris
Hi Gerd,

sorry, aber da müssen dann andere helfen. Bin kein VBA-Experte.
Gute Nacht...

Gruß Boris

Re: das geht leider nicht!
03.03.2003 00:33:16
L.Vira
Du willst sagen, dass es in deiner Tabelle keine einzige leere Spalte gibt?
Ohne VBA so , Noch offen
03.03.2003 04:02:53
Jörg Gradert
Hallo Gerd,
Ohne VBA geht es so:
Menü, Extras, Optionen, Auto ausfüllen, Neue Liste, hinzufügen.
Liste der gewünschten Sortierreihenfolge eingeben (hier müssen einmal alle Werte eingetragen werden, die möglicherweise auftreten können, kann aber auch aus einem EXCEL Sheet importiert werden).Um bei deinem Beispiel zu bleiben gebe hier
J2,A3,T4,K6,G9
ein. Mit OK abschliessen
Markiere A1:A20 und sortiere Z-A, leere Zellen werden hierbei auch nach unten sortiert.
Um irgendwann wieder auf Sortierung Standard zurückzuschalten musst Du im Menü, Daten, Sortieren, Optionen
die Sortierreihenfolge wieder auf Standard einstellen.
Ob diese benutzerdefinierte Sortierreihenfolge aus VBA aufrufbar ist kann ich nicht sagen.

Gruß Jörg

Anzeige
Re: das geht leider nicht!
03.03.2003 08:17:16
Sigi E.
Hallo Gerd,

vielleicht geht's so ...

in einer Schleife mit der Funktion StrReverse() deine Strings umdrehen, dann sortieren
und anschließend wieder mit StrReverse() zurückdrehen.

Gruß
Sigi

Re: Ohne VBA so , Noch offen
03.03.2003 08:32:45
gerd
hallo jörg,

sowas in der art könnte ich gebrauchen, aber ich finde leider kein "AutoAusfüllen" in dem "Options"-Menu ! :((

Hast Du auch Office-XP ?

gruss gerd

Re: das geht leider nicht!
03.03.2003 08:33:49
gerd
hallo,

leider geht das nicht, weil excel immer nur das erste zeichen nimmt. eine 10,4 wird behandelt wie eine 1.

leider!

gruss gerd

Re: das geht leider nicht!
03.03.2003 08:34:48
gerd
doch, aber ich kann da nichts verschieben.
wenn es gehen würde, hätte ich die möglichkeit doch schon benutzt, oder?

gruss gerd

Anzeige
Re: Ohne VBA so , Noch offen
03.03.2003 09:04:00
Mike
Aber "benutzerdefinierte Listen" - wenn ich es richtig verstanden habe, dann sollte es hiermit funktionieren - ob dir das aber hilft???

Mike

Re: Ohne VBA so , Noch offen
03.03.2003 11:18:00
Jörg Gradert
Hallo Gerd,
habe die Voreinstellung nicht geändert, bzw darauf geachtet, nein ich arbeite noch mit ECCEL 2000 9,0
Sorry
Jörg

So geht es
03.03.2003 16:50:22
Klaus-Dieter
Hallo Gerd,

mit diesem Makro sollte es gehen:


Sub sortieren()
Dim wer$(100, 100)
Dim r%, s%, t%, ss%
On Error Resume Next
For r = 1 To Range("A65536").End(xlUp).Row
wer(r, Right(Cells(r, 1), 1)) = Cells(r, 1)
Next r
ss = 0
For s = 10 To 1 Step -1
For t = 1 To r
If Len(wer(t, s)) > 0 Then
ss = ss + 1
Cells(ss, 2) = wer(t, s)
End If
Next t
Next s
End Sub

Code eingefügt mit: Excel Code Jeanie

So sieht das Ergebnis aus:

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige