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
Danke für die verschiedenen Vorschläge, werde mal alle durchtesten und schauen, welche mir am besten gefällt :)
Gruß