Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenumbrüche in Zellen zu neuen Zeilen

Zeilenumbrüche in Zellen zu neuen Zeilen
20.04.2023 13:29:15
jolly

Hallo in die Runde!
Ich arbeite gerade mit Datensätzen, in denen oft Zeilenumbrüche in den Zellen sind.
Für jeden Zeilenumbruch in irgendeiner Zelle soll eine separate Zeile eingefügt werden, in der die Ursprungsdaten der Original-Datenzeile reinkopiert werden.
Im hochgeladenen Excel-Beispiel: Wenn in der Zeile "Geschlecht" (in Zelle A2) in der Zelle C2 folgendes steht:
1=m
2=f
[also mit Zeilenumbruch innerhalb der Zelle zwischen m und 2].
Dann soll die gesamte Zeile 2 eine Zeile darunter kopiert werden ("Geschlecht" steht dann sowohl in A2 und A3), aber in Zelle C2
1=m
stehen und in Zelle C3
2=f
stehen.
Die darunterliegenden Zeilen sollen nicht überschrieben, sondern alle entsprechend der neuen Zeilen nach unten kopiert werden (alles, was in und unterhalb Zeile 3 stand, findet sich in diesem Beispiel eine Zeile darunter).
Für alle folgenden Zeilen das gleiche Prozedere wie für die Zeile 2.
Gibt es vielleicht eine Lösung mit VBA?
Vielen Dank für Eure Hilfe!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbrüche in Zellen zu neuen Zeilen
20.04.2023 14:15:26
Daniel
Hi

probier mal folgenden Code
Sub test()
Dim Zelle As Range
Dim TT
Dim i As Long
With ActiveSheet.UsedRange
    With .Columns(.Columns.Count + 1)
        .Formula = "=row()"
        .Formula = .Value
    End With
End With
For Each Zelle In ActiveSheet.Columns(3).SpecialCells(xlCellTypeConstants, 2)
    TT = Split(Zelle.Value, vbLf)
    If UBound(TT) > 0 Then
        Zelle.Value = TT(0)
        For i = 1 To UBound(TT)
            Zelle.EntireRow.Copy
            With Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
                .PasteSpecial xlPasteAll
                Intersect(Zelle.EntireColumn, .EntireRow).Value = TT(i)
            End With
        Next
    End If
Next
With ActiveSheet.UsedRange
    .Sort Key1:=.Cells(1, .Columns.Count), order1:=xlAscending, Header:=xlNo
    .Columns(.Columns.Count).ClearContents
End With
End Sub
der einfachheit halber werden die neuen Zeilen unten eingefügt und dann wird sortiert, dazu wird am Datenende die Zeilennnummer eingefügt.
Das Sortieren am Schluss ist für Excel einfacher und geht schneller, als die neuen Zeilen einzufügen.

Gruß Daniel
Gruß Daniel


Anzeige
AW: Zeilenumbrüche in Zellen zu neuen Zeilen
20.04.2023 14:54:43
jolly
Danke Daniel, klappt bestens - ich bin beeindruckt ....

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige