Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen Sortieren und "Ausmisten"/Aufteilen

Zellen Sortieren und "Ausmisten"/Aufteilen
21.05.2019 16:30:45
Jens
Hallo zusammen,
ich brauche eure Hilfe ein vba Skript zu erstellen, da es mit Excelformeln zu kompliziert und langsam wird.
Ich habe eine Liste in Excel. Diese besteht in jeder Zelle aus Zeichen dem Gleichheitszeichen und wieder Zeichen. Ungefähr so:
Unterstrich=_{NDA}
gleichheitszeichen==
Gleichheitszeichen==
Und Zeichen= &
Und zeichnen= &&
...
Diese Liste enthält Unicode Zeichen; gerade auch Symbole jenseits der 64000 wie z.B. 🐀, 🐊, 🚼). Diese Liste muss jetzt sortiert und aufgeteilt werden anhand des Textes auf der linken Seite des Gleichheitszeichens. D.h. alles vor dem Gleichheitszeichen ist relevant für die folgenden Schritte:
1. Zellen in vba code einlesen und Reichenfolge merken damit diese hinterher wieder hergestellt werden kann
2. Im vba code die Zellen sortieren (CaseSensitive - auf Groß- und Kleinschreibung achtend.)
3. Alle doppelten linken Hälften (also alles vor dem Gleichheitszeichen) ersatzlos löschen
4. Aufteilen - Die "Guten" bleiben in der Ursprungsspalte die "Schlechten" gehen zusammen mit einem (1) Guten (diesen gibt es dann doppelt in beiden Spalten) in ein neues Tabellenblatt in die selbe Spalte wie die Guten auf ihrem Blatt.
Was ist Gut was ist Schlecht:
Gut ist alles wo nicht der Anfang der linke Hälfte (vor dem Gleichheitszeichen) der gesamten linken Hälfte einer anderen Zelle gleicht. Wobei immer nur ganze Wörter verglichen werden.
Beispiele:
bold underscore=_
Underscore short=_
underscored=_
Underscored=_
underscore thin=_
underscore long=_
underscore too long=_
My underscore too long=_
In diesem Beispiel ist alles OK. Kein Eintrag muss "Ausgemisted" werden. Egal welche gesamte Zelle (also nur vor dem Gleichheitszeichen) man mit dem ersten Wort oder den ersten Wörtern von anderen Zellen verglichen wird, gibt es nie etwas identisches.
underscore too=_
Underscore short=_
underscored=_
Underscored=_
underscore thin=_
underscore long=_
underscore too long=_
My underscore too long=_
In diesem Beispiel ist jedoch "underscore too" und "underscore too long" im Konflikt miteinander da beide Zellen mit "underscore too" anfangen (Im echten Beispiel können auch mal 10 Zellen so anfangen!). Daher sollen beide Zellen (diesmal vollständig inklusive rechter Seite vom Gleichheitszeichen) in das nächste Tabellenblatt kopiert werden. Im original Tabellenblatt wird der kürzeste Eintrag (in diesem Fall "underscore too" behalten und die anderen Zellen die im Konflikt dazu sind gelöscht. Die unteren Zellen, unterhalb der gelöschten Zelle, rücken dann nach oben auf. Die Original Liste ändert daher nicht ihre Reihenfolge.
Anbei eine Excel Tabelle die "fast" alle diese Aufgaben mit Formeln erledigt. Aber da die Datensammlung immer größer werden muss ich jetzt auf vba umsteigen.
https://www.herber.de/bbs/user/129935.xlsx
Ich hoffe Ihr könnte mir Helfen.
Vielen Dank für eure Hilfe.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen Sortieren und "Ausmisten"/Aufteilen
21.05.2019 19:42:41
Rudi
Hallo,
warum sind nicht alle, die mit underscore anfangen im Konflikt?
Gruß
Rudi
AW: Zellen Sortieren und "Ausmisten"/Aufteilen
21.05.2019 21:04:53
Jens
Hallo Rudi,
vielen Dank für das Lesen.
Zu Beispiel 1:
Zeile 3 und 4 sind andere Wörter. Die haben am Ende noch ein -ed dran. Da immer volle Wörter verglichen werden sind diese nicht im Konflikt.
Zeile 5,6 & 7 fangen zwar alle mit dem Wort underscore an aber alle gehen mit unterschiedlichen Wörtern weiter. D.h. ich finde keine Zelle die bis zum Gleichheitszeichen identisch ist wie die Anfangswörter einer anderen Zelle. Sobald Beispiel 1 zusätzlich die Zelle "underscore=ABC" bekommen würde stünden diese neue Zelle und Zeilen 5,6 & 7 miteinander im Konflikt.
Hier noch ein Beispiel bei dem alle miteinander im Konflikt stehen:
Krokodil=KK
Krokodil mit=ADSF
Krokodil mit Hut=ssese
Krokodil mit Hut und=adfwe
Krokodil mit Hut und Nase=kaoem
Das 'Krokodil' aus der ersten Zeile findet sich als erstes Wort in allen anderen Zeilen auch wieder. Da entsteht der erste Konflikt unter allen. Aber auch das 'Krokodil mit' aus der zweiten Zeile findet sich als die ersten zwei Wörter der Zeilen darunter wieder. Das ist auch ein Konflikt der auftauchen würde, wenn es die erste Zeile 'Krokodil' nicht geben würde. usw.
Vielleicht wird es damit verständlicher?
Anzeige
AW: Zellen Sortieren und "Ausmisten"/Aufteilen
25.05.2019 05:05:02
Jens
Danke für die Hilfe. Werde ich jetzt anders lösen.

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige