Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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
Inhaltsverzeichnis

Sortieren bei Zahlen und Text

Sortieren bei Zahlen und Text
19.11.2021 11:45:59
dieter
Hallo zusammen,
Habe ein kleines Problem mit sortieren, und zwar geht es darum das ich die Spalte A ab A3 nach unten sortiert haben möchte aufsteigend.
In A2 ist Überschrift Fachung
Nur in der Zeile ab A3 sind Zahlen, Leerzeichen, Buchstaben Zahlen.

6 x 0,10
7 x 0,15
7 x 0,20
7 x 0,20
8 x 0,15
8 x 0,20
9 x 0,15
9 x 0,15
9 x 0,15
9 x 0,20
10 x 0,30
Sollte ich jetzt neuen Eintrag machen, zB. ab der letzten Zeile, 7 x o,30 und geh auf normal sortieren in Excel, habe ich immer die 2 stelligen Zahlen vorne ganz oben.
Er soll mir aber von 6 anfangen zu sortieren nach unten aufsteigend. Hab auch versucht in Text zu formatieren aber geht auch nicht.
Gibt es da eine VBA Lösung für ? Wenn ja wie bitte
Ich danke schon mal im voraus der Hilfe
Mfg.
Dieter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren bei Zahlen und Text
19.11.2021 11:53:54
Daniel
Hi
sobald in einer Zelle Ziffern mit Text kombinierst, ist der der Inhalt immer ein Text.
Bei Texten entscheidet über die Sortierreihenfolge von zwei Werten immer das erste unterschiedliche Zeichen von Links gelesen.
Wenn du die Inhalte so in einer Zelle belassen willst, musst du alle Zahlen mit der gleichen Stellenzahl schreiben und ggf mit führenden oder folgenden Nullen auffüllen, damit richtig sortiert wird:
06 x 0,15
10 x 0,30

bei jeder einstelligen Zahl muss noch eine 0 davor.
ansonsten müsstest du das ganze auftrennen und jeden Zahlenwert in eine eigene Zelle schreiben, so dass sie echte Zahlen sein können und nach diesen Spalten dann sortieren.
Gruß Daniel
Anzeige
AW: Sortieren bei Zahlen und Text
19.11.2021 12:37:29
Peter
... oder, wenn der Aufbau immer gleich ist ([Integerzahl] x [irgendwas]), erzeuge in einer leeren Spalte hinten per VBA einen Eintrag nur mit der Zahl, sortiere alles mit der Spalte nach der Spalte und lösche sie wieder...
AW: Sortieren bei Zahlen und Text
19.11.2021 12:50:16
Daniel
das hatte ich doch geschrieben.
musst du nicht wiederholen.
Gruß Daniel
AW: Sortieren bei Zahlen und Text
19.11.2021 11:54:29
Rudi
Hallo,
bau eine Hilfsspalte ein und sortiere danach
=--LINKS(A3;SUCHEN("x";A3)-2)
Gruß
Rudi
AW: Sortieren bei Zahlen und Text
20.11.2021 11:02:29
dieter
Hallo,
Ich danke allen für die Aussagen und Erläuterungen.
Ich dachte halt man kann es komplett über VBA lösen oder so.
eine null will ich auch nicht davor setzten wegen besseren Überblick.
Da wohl leider keiner eine Lösung über VBA hat muss ich es halt versuchen indem ich eine Zeile einbaue
an der richtigen stelle per VBA um dann die Eingaben zu machen. Wäre dann das nächste Problem. Hat da einer eine Lösung ?
Sollte doch noch einer eine Lösung per VBA haben wäre ich noch dankbarer.
Mfg.
dieter
Anzeige
AW: Sortieren bei Zahlen und Text
20.11.2021 11:51:17
Yal
Hallo Dieter,
Man muss hier erwähnen (wobei du nicht komplett VBA-fremd zu sein scheinst), dass VBA keinesfalls ein Gedanken-lesende Zauberstab ist, sondern ein Drache, den man ständig säumen muss.
Da ich aber absolut erstrebenswert finde, Drachenreiter werden zu wollen, hast Du meine Unterstützung:
Starte den Makro Rekorder,
In 3 leeren Spalten fügst Du das Auslesen des ersten Zahl (vor dem x), zweiten Zahl, und die Multiplikation von beiden. Alles als Formel.
Dann sortierst Du das gesamt nach der Multiplikationsspalte,
Und anschließend die Inhalt der 3 Hilfsspalten wieder löschen.
Es ist zuerst "Drachen füttern"-Niveau. Aber alles nacheinander :-)
Viel Erfolg.
Wenn es klemmt, posten.
VG
Yal
Anzeige
AW: Sortieren bei Zahlen und Text
20.11.2021 13:01:49
dieter
Hey Yal,
Also ich mache das jetzt erst mal ohne Recorder um den Ablauf zu verstehen.
Ich habe jetzt 3 Hilfspalten nach A eingefügt. Dann in der neuen Spalte B die Formel

=LINKS(A3;SUCHEN("x";A3)-2)
eingefügt damit die erste Zahl kommt.
Dann habe ich in der neuen Spalte D

=RECHTS(A3;SUCHEN("";A3)+3) 
Richtige Formel ? die Formel eingefügt um die letzten 3 Zahlen zu bekommen ( 0,15 ) zB.
Jetzt komme ich nicht weiter, wie bekomme ich jetzt das

x
in der neuen Spalte C ? und weiter, wenn ich dann sortiert habe und die Hilfsspalten wieder lösche, sind doch auch die Formeln wieder weg.
Bitte um weiterer Hilfe.
Mfg
Dieter
Anzeige
AW: Sortieren bei Zahlen und Text
20.11.2021 15:14:52
Yal
Hallo Dieter,
Deine erste Formel ist richtig. Weil "x" die einzige "Regel", die immer gilt.
Ich würde aber nur den x-Position minus 1 (also ohne den x selbst) und die Leerstellen mit der Funktion GLÄTTEN rausfiltern.
Beim rechten Ende dasselbe, x-Position nochmal ermitteln, plus 1, glätten.
Noch dazu kannst Du
=WERT(...)
verwenden, um daraus jeweils Zahlen zu machen.
Linke Teil
=WERT(GLÄTTEN (LINKS(A3;SUCHEN("x";A3)-1)))
rechte Teil
=WERT(GLÄTTEN (RECHTS(A3;SUCHEN("x";A3)+1)))
VG
Yal
AW: Sortieren bei Zahlen und Text
21.11.2021 12:44:44
dieter
Hey Yal, und alle anderen,
Erst mal danke Deiner Ausführung.
Aber das ist mir alles zu kompliziert, gibt es nicht eine Möglichkeit über VBA das er mir zB. eine 0 vor die einzelnen Zahlen schreibt ?
und ich es dann sortieren kann ?

9 x 0,20 ' hier kommt automatisch eine 0 vor die 9 hin
10 x 0,15
und nach dem sortieren löscht er mir wieder die 0
Ansonsten lasse ich mir was anderes einfallen mit neuer Zeile einfügen.
Mfg.
Dieter
Anzeige
AW: Sortieren bei Zahlen und Text
21.11.2021 12:55:17
dieter
Hey all,
Nochmal zum einfügen,
Hab sowas mit Recorder gemacht,

Range("A3").Select
ActiveCell.FormulaR1C1 = "07 x 0,15"
Range("A4").Select
ActiveCell.FormulaR1C1 = "07 x 0,15"
Range("A5").Select
ActiveCell.FormulaR1C1 = "07 x 0,15"
Range("A6").Select
ActiveCell.FormulaR1C1 = "07 x 0,20"
Range("A7").Select
ActiveCell.FormulaR1C1 = "08 x 0,15"
Range("A10").Select
ActiveCell.FormulaR1C1 = "08 x 0,20"
Range("A5").Select
ActiveCell.FormulaR1C1 = "7 x 0,15"
Range("B1").Select
Um jetzt nicht jede einzelne Zelle anzusprechen gibt es da nicht eine einfachere Lösung ?
Mfg.
dieter
Anzeige
AW: Sortieren bei Zahlen und Text
21.11.2021 15:04:23
Yal
Hallo Dieter,
ich sehe eine sehr grosse Diskrepanzt zwischen dein erste Frage und was Du hier aufzählst. Sind diese Einträge nicht schon bereit in der Spalte A aufgelistet?
Beachte, dass jeder Helfer sein eingene Weg zur Lösung vorschlägt, diese aber nicht miteinander kombinierbar sind.
Mein Lösungsweg, nochmal Schritt für Schritt:
Nehmen wir an, Du hast diese Einträge ohne führenden Nullen in Zellen A2 bis A10:
6 x 0,10
7 x 0,15
7 x 0,20
7 x 0,20
8 x 0,15
8 x 0,20
9 x 0,15
9 x 0,20
10 x 0,30
_ markieren die Zellen B2:B10
_ füge die Formel =WERT(GLÄTTEN(LINKS(A2;FINDEN("x";A2)-1)))
_ und schliesse die Eingabe mit Strg+Enter
_ markiere die Zellen C2:C10
_ füge die Formel =WERT(GLÄTTEN(RECHTS(A2;FINDEN("x";A2)+1)))
_ und schliesse die Eingabe mit Strg+Enter
_ markiere die Zellen D2:D10
_ füge die Formel = C2*D2
_ und schliesse die Eingabe mit Strg+Enter
_ markiere die Zellen D2:A10 (Achtung: zuerst die Spalte D, weil so ist die aktive Zelle in Spalte D. Wichtig)
_ Rechtsklick auf Sortieren, aufsteigend
_ markiere die Zellen B2:D10
_ drücke Entf
Wenn Du jetzt diese Schritte unter Makro Rekorder (MR) machst, bekommst Du folgendes:

Sub Makro2()
Range("B2:B10").Select
Selection.FormulaR1C1 = "=VALUE(TRIM(LEFT(RC[-1],FIND(""x"",RC[-1])-1)))"
Range("C2:C10").Select
Selection.FormulaR1C1 = "=VALUE(TRIM(RIGHT(RC[-2],FIND(""x"",RC[-2])+1)))"
Range("D2:D10").Select
Selection.FormulaR1C1 = "=RC[-2]*RC[-1]"
Range("A2:D10").Select
Range("D2").Activate
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("D2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A2:D10")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B2:D10").Select
Selection.ClearContents
Range("A2").Select
End Sub
Der MR nimmt alles was Du tust auf. Mehr aber auch nicht. Wie vorher gesagt: VBA ist kein gedankenlesender Zauberstab!
Du musst nur den Zusammenhang zwischen was Du getan hast und den Code machen. Der Code, den Du da lieferst, zeigt nur, dass Du in verschiedene einzelne Zelle etwas eingetragen hast. Hilft uns das etwa?
Mit der Bitte, dass Du bevor Du den Code blind copy-paste, die auf Deutsch geschriebene Anweisungen genau durchliest. Bei Bedarf mehrmals. Dann die Aufnahme über MR selber probierst (Vielleicht zuerst nur die Formel in Spalte B. Denn der Rekorder nimmt alles auf. Und alles kann sehr schnell sehr viel sein. Der Rekorder versteht nicht, dass Du daneben geklickt hast und nochmal richtig machst!)
Nur so wirst Du Schritt für Schritt zu Drachen-Dompteur.
Der MR ist übrigens keine Spielerei für Anfänger. Ich mache weiterhin sehr viel zuerst mit den MR (wäre ja blöd, das alles selber zu tippen ;-)
Viel Erfolg.
VG
Yal
Anzeige
AW: Sortieren bei Zahlen und Text
22.11.2021 15:34:34
dieter
Hey Yal,
Erst einmal vielen lieben Dank für Deine ausführliche Beschreibung.
Habe mich vielleicht nicht immer klar ausgedrückt, aber richtig ist das was Du jetzt hier beschreibst eben mein Problem ist
mit der 0 vor den anderen Zahlen die in ab A3 stehen.
Ich werde mich schnellstens darum kümmern Deine genaue Ausführung umzusetzen.
Gebe Dir dann Bescheid wie es klappt.
Erst nochmal vielen Dank Deiner Mühe.
Mfg.
Dieter

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige