Clever-Excel-Forum

Normale Version: Textteile in mehreren Zellen aufteilen auf je eine Zeile
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich hab viele Zellen in einer Spalte die mit Werten befüllt sind, ich will nun jeden einzelnen Wert in eine eigene Zeile untereinander schreiben. Gentrennt sind die Werte mit Komma, sofern mehr als einer in einer Zelle steht.
Hat jemand ne Ahnung, wie ich das schnell und einfach aufdröseln kann? Danke.

Ist:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Soll:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Gruß
warum nicht einfach:  Daten - Text in Spalten (Komma als Trennzeichen)
zuvor mit Funktion wechseln die Leerzeichen entfernen
Hi,

das hatte ich schon versucht, aber dann hab ich ja in einer Zeile mehrere Spalten mti Werten. Ich möchte alle Werte in einer Spalte und dann jeder einzelne Wert eine neue Zeile.

Gruß
Moin

Mit PQ.
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Bereich"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Column1", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type1", each [Column1] <> null and [Column1] <> "")
in
    #"Filtered Rows"
brauchst du das öfters,  dann VBA von @shift-del

oder wenn einmalig:
(26.04.2021, 21:20)bug99 schrieb: [ -> ]VBA von @shift-del
Nix VBA sondern PQ.
immer dieses neuartige Zeug  :) :)

ich bin doch noch auf dem Stand von excel 2003,
auch wenn ich mir nun office 2019 gegönnt habe
Hallo Alex,

das wäre dann eine VBA-Variante:

Code:
Sub BauteillisteErstellen()
  Dim i As Long, j As Long, k As Long, l As Long
  Dim varQ As Variant, varT As Variant, varZ As Variant
  With Worksheets("Ist")
    varQ = Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
  End With
  ReDim varZ(1 To 1, 0)
  For i = 1 To UBound(varQ, 1)
    varT = Split(varQ(i, 1), ",")
    k = UBound(varT) + 1
    If k >= 0 Then
      l = UBound(varZ, 2)
      ReDim Preserve varZ(1 To 1, 1 To l + k)
      For j = 0 To k - 1
        varZ(1, l + j + 1) = Replace(Trim(varT(j)), Chr(10), "")
      Next j
    End If
  Next i
  Worksheets("Soll").Cells(1, 1).Resize(UBound(varZ, 2)).Value = Application.Transpose(varZ)
End Sub

Gruß Uwe
C1[:C441]: =XMLFILTERN("<a><b>"&WECHSELN(TEXTVERKETTEN(", ";;WECHSELN(A$1:A$79;",";", "));", ";"</b><b>")&"</b></a>";"//b")

in altem Excel (wg TEXTVERKETTEN erst ab xl2019, wg XMLFILTERN erst ab xl2013) C1:C441 markieren, eintragen und mit {} abschließen (Formelarray). In xl365 reicht normaler Eintrag in C1.

Quelle: Die SPLIT-Formel XMLFILTERN fand shift-del im Netz: https://www.office-hilfe.com/support/threads/22254/
Danke für die verschiedenen Vorschläge, werde mal alle durchtesten und schauen, welche mir am besten gefällt :)

Gruß