Hallo! Ich bin mir gar nicht sicher, ob das von mir Geplante so überhaupt umsetzbar ist aber here we go:
Ich habe eine große Liste mit vielen Daten, welche innerhalb der Zellen getrennt sind durch "(1),(2),(3) etc.". Ich möchte gerne jeden einzelnen Unterpunkt innerhalb der Zellen zu einer eigenen Zelle machen, der Datensatz ist aber viel zu groß, um das manuell zu machen. Ist es möglich, mit einer Formel den Bereich nach einem "(n)" zu splitten, in die darunterstehende Zelle zu packen und das ganze für alle "(n)" zu wiederholen?
Hallo Uwe und danke für deine Antwort!
Ich habe es geschafft die Zelleninhalte zu trennen und in jeweils eigene Zellen zu überführen und diese zu transponieren. Mir fehlt jetzt quasi nur noch ein Code, der die nebeneinanderstehenden Blöcke von Zellen alle untereinander aufreiht. Veranschaulichung wieder anbei.
Ich glaube, dass das an sich nicht sehr komplex ist aber ich bin ein blutiger Anfänger mit VBA
Das hab ich ja schon gelöst bekommen. Am Komma konnte ich nicht splitten, weil der Text innerhalb der Punkte Kommas enthielt, was zu splits an den falschen Stellen führte. Ich habe mit Suchen und ersetzen die Klammern samt Nummer durch "\" ersetzt, weil es im restlichen Dokument sonst nirgends vorkam und dann am \ gesplittet. Dadurch habe ich jetzt halt diese nebeneinanderstehenden Zellen und grüble grade daran wie ich die alle untereinander kriege.
würdest Du an Stelle der Bildchen eine Musterdatei mit den Wunschergebnissen vorstellen, wäre es leichter Dir zu helfen. Aber mit sinnvollen Ausdrücken und nicht wie in den bisher gezeigten Bildern!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Sub test()
Dim lngCount As Long
Dim lnglRow As Long
Dim lngTemp As Long
Dim ArrText As String
Dim ArrField() As String
lnglRow = Cells(Rows.Count, 1).End(xlUp).Row
For lngCount = 1 To lnglRow
ArrText = ArrText & Replace(Replace(Replace(Replace(Cells(lngCount, 1), "(1)", "#"), ",(2)", "#"), ",(3)", "#"), ",(4)", "#")
Next
Debug.Print ArrText
lngTemp = Len(ArrText) - Len(Replace(ArrText, "#", ""))
Ich glaube ich habe das ganze wirklich etwas konfus dargestellt. Sorry dafür!
Im Grunde brauche ich einen Code, der von der ersten Spalte an die Zellen von oben nach unten liest und Zellen, welche nicht leer sind ausschneidet und in der A-Spalte untereinander einfügt. Wenn dann eine leere Zelle gefunden wird soll zur nächsten Spalte übergegangen werden und so weiter.
Ich habe also eine große Menge an nebeneinander aufgelisteten Werten und möchte diese in einer einzigen Spalte (in diesem Fall A) untereinander aufführen.