ich habe ein Problem, das für mich unlösbar scheint.
Ich habe einen Inhalt in einer Zelle der sozum Beispiel so aussieht (1+2+3+12+18+99). Dabei ist die Anzahl der Zahlen stets Variabel. Ich muss nun den Inhalt aufteilen in einzelne Spalten. Normalerweise würde dies mit Daten-> Text zu Spalten funktionieren. Jedoch stammt der Inhalt der Zelle aus einem anderem Datenblatt, demnach funtkioniert das nicht. Ich möchte das auch lieber mit Formeln lösen, da dieses Prozedere zum aufteilen sehr oft in unterscheidlichen Spalten geschehen soll.
Das einzige was ich aktuell hinbekomme ist die erste Zahl aufzuteilen mit (=WENNFEHLER(LINKS(B4;FINDEN("+";B4)-1);B4)). Die Formel WENNFEHLER wird verwendet, da es möglich ist dass auch nur eine Zahl in der Zelle steht. Aktuell habe ich die Grenze an Zahlen auf maximal 20 geschätzt. Also ( 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20).
Ich hoffe hier hat jemand einen brillianten Einfall.
vielen dank. der code funktioniert. ich versteh den nur leider nicht ganz, könntest du mir das vielleicht etwas erklären?
kurze frage hätte ich noch, ich habe letztens etwas von matrix berechnung gelesen und ich glaub das ist das was @LCOhen mit den geschweiften klammern meinte, das würde doch eigentlich bedeuteten dass man nur die formel in der einen zelle schreiben muss und dann der rest automatisch ausgefüllt wird oder nicht?. das funktioniert nämlich nicht. ich muss die formeln in die adneren zellen kopieren.
15.03.2022, 21:43 (Dieser Beitrag wurde zuletzt bearbeitet: 15.03.2022, 21:44 von LCohen.)
Nein, du markierst B1:U1 als Ganzes, trägst dann meine Formel in eine Zelle der Markierung ein, und dann schließst Du sie mit CSE ab. Dadurch entsteht keine Arrayformel, sondern ein Formelarray.
Sub InhAufteilen() c = 2 ' Column 2 = Spalte B lz = Cells(Rows.Count, c).End(xlUp).Row ' Anzahl benutzte Zeilen in Spalte B For zz = 4 To lz s = Cells(zz, 2).Value arr = Split(s, "+") anzz = UBound(arr) ' Anzahl der "+" MsgBox anzz For i = 0 To anzz Cells(zz, c + 1 + i) = arr(i) Next Next End Sub
16.03.2022, 07:50 (Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2022, 08:57 von WillWissen.)
Vielen Dank
mit VBA kenne ich mich aber absolut gar nicht aus.
@LCohen, das funktioniert leider nicht. ich hänge mal am besten die Excel an. Leider ist die Excel 2 mb Groß und ich kann die nicht anhängen. Hier ein Link zum herutnerladen
anbei noch eine Datei mit einer UDF mit RegEx. Weiß allerdings nicht, wie in das in deiner alten Version aussieht. In der neuesten Version wird ja automatisch verteilt. Habe die Datei mal mit CSE-Abschluss gespeichert. [attachment=42549]