Alhpanummerische Sortierung in VBA
12.09.2013 12:17:53
Schorchi
ich konnte leider keinen passenden Eintrag finden und möchte daher mein Problem darstellen.
Ich möchte mittels VBA eine Exel Spalte Zeilenweise füllen.
Wird eine 8 Stellige Zahl zb. "12345678 Aufsp" eingegeben so soll dise vor der nächst höheren , nämlich "12345678 Band" eingefügt werden.
Was das ganze erschwert ist, dass gelegentlich auch Bezeichnungen der Art "M12345" verwendet werden - diese sollen dann nach den mit Zahlen beginnenden Werten Alphabetisch eingefügt werden.
mit der StrComp funtion funktioniert das nicht, da zb. 11 vor 1 eingeordnet wird.
reine Buchstaben Strings lassen sich so jedoch sortieren.
Auch das Herausschneiden der Zahl und umwandeln in eine Integer Variable mit anschließendem vergleichen ist nicht zeilführend, da die Bezeichnungen nicht duchgängig gleich sind.
Was ich benötige ist ein Vergleich eines HauptStrings mit denen in der Tabelle (welche bereits geordnet ist); Wird die nächsthöhere Bezeichnung gefunden, dann soll der Hauptstring oberhalb eingefügt werden ( per Makrorekorder wird davor eine Zeile eingefügt, in die dann der Wert kommt).
Sehr hilfreich fand ich den Lösungsansatz:
https://www.herber.de/forum/archiv/804to808/805752_alphanumerisch_sortieren_mit_VBA.html
allerdings bin ich nicht in der Lage diesen meinen Anforderungen entsprechend anzupassen.
Zusammenfassen: Es ist nicht fix, welche Bezeichnung der Hauptstring hat - in Jedem Fall nur zahlen, Leerzeihen und Buchstaben .
Es müsste also Quasie vorerst der Hauptstring "untersucht" werden und dann
ensprechend eingefügt werden.
Vielen Dank für eure Hilfe !!!!