Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Textteile in mehreren Zellen aufteilen auf je eine Zeile
#1
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ß


Angehängte Dateien
.xlsx   Beispiel_01.xlsx (Größe: 10,43 KB / Downloads: 15)
Antworten Top
#2
warum nicht einfach:  Daten - Text in Spalten (Komma als Trennzeichen)
zuvor mit Funktion wechseln die Leerzeichen entfernen
__________________________________________________
Je mehr ich weiß, desto mehr erkenne ich, dass ich nichts weiß.
(Albert Einstein frei nach Sokrates)
Antworten Top
#3
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ß
Antworten Top
#4
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"
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
brauchst du das öfters,  dann VBA von @shift-del

oder wenn einmalig:


Angehängte Dateien
.xlsx   Beispiel_02.xlsx (Größe: 112,57 KB / Downloads: 4)
__________________________________________________
Je mehr ich weiß, desto mehr erkenne ich, dass ich nichts weiß.
(Albert Einstein frei nach Sokrates)
Antworten Top
#6
(26.04.2021, 21:20)bug99 schrieb: VBA von @shift-del
Nix VBA sondern PQ.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#7
immer dieses neuartige Zeug  :) :)

ich bin doch noch auf dem Stand von excel 2003,
auch wenn ich mir nun office 2019 gegönnt habe
__________________________________________________
Je mehr ich weiß, desto mehr erkenne ich, dass ich nichts weiß.
(Albert Einstein frei nach Sokrates)
Antworten Top
#8
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
Antworten Top
#9
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/
Antworten Top
#10
Danke für die verschiedenen Vorschläge, werde mal alle durchtesten und schauen, welche mir am besten gefällt :)

Gruß
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste