Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte aus Zeilenumbruch in neue Zeile

Werte aus Zeilenumbruch in neue Zeile
30.07.2014 10:54:12
Steffen
Hallo liebe Leute,
habe hier gerade ein Problem mit einem mir vorliegenden Excel Blatt und weiß leider nicht weiter. Ich habe bereits in anderen Foren geschaut aber bislang nichts gefunden.
Hier mal ein Ist-/Soll Zustand die mein Problem besser beschreibt als ich es könnte.
Userbild
Userbild
Ich möchte genau genommen die Werte die durch einen Zeilenumbruch in einer Zelle stehen jeweils in eine eigene Zeile darunter hinzufügen.
Leider handelt es sich nicht nur um zwei betroffene Zellen, sondern um eine komplette Spalte mit 300 Zellen. Gibt es eine Möglichkeit das zu automatisieren oder ein wenig zu vereinfachen?
Wäre über jede mögliche Hilfe sehr dankbar!!
Viele Grüße

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 11:49:02
Oberschlumpf
Hi Steffen
Ist die Nachbarspalte frei, oder welche Spalte ist frei?
Hintergrund:
- die Texte/Zelle von den Zeilenumbrüchen "befreien" und in die Nachbarzellen untereinander einfügen
- wenn alles fertig, Inhalte aus der Hilfsspalte ausschneiden + in Ursprungsspalte wieder einfügen
- das Ganze kann man nicht direkt in einem Schritt in der Ursprungsspalte durchführen, weil ja die Inhalte in den Folgezeilen (noch mit Umbruch) dann überschrieben werden
Ciao
Thorsten

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 12:19:10
Steffen
Hallo Thorsten,
leider sind die Nachbarspalten alle besetzt bzw. die danebenliegende Spalte ist auch von diesem Problem betroffen. Erst ab der Spalte BK ist wieder etwas frei.
Also verstehe ich das richtig, dass man sozusagen alles erstmal vorbereitet und dann wieder einfügt an der betroffenen Stelle. Kann man das auch so realisieren dass Zeilen aus der Spalte die keine Zeilenumbrüche enthalten nicht überschrieben werden?
Ich hänge mal zur Übersicht eine kleine Beispieldatei mit dran.
https://www.herber.de/bbs/user/91786.xlsx
Gruß
Steffen

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 12:15:15
Rudi
Hallo,
Überschrift in A1, Zellen ab A2
Sub aaa()
Dim arr, arrErg(), Tmp, i As Integer, j As Integer, n As Integer
arr = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
ReDim arrErg(1 To 1, 1 To 1)
arrErg(1, 1) = Cells(1, 1)
For i = LBound(arr) To UBound(arr)
Tmp = Split(arr(i, 1), vbLf)
n = UBound(arrErg, 2)
ReDim Preserve arrErg(1 To 1, 1 To n + UBound(Tmp) + 1)
For j = 0 To UBound(Tmp)
arrErg(1, n + j + 1) = Tmp(j)
Next
Next
arrErg = WorksheetFunction.Transpose(arrErg)
Cells(1, 1).Resize(UBound(arrErg)) = arrErg
End Sub

Gruß
Rudi

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 12:20:40
Steffen
Hallo Rudi,
ich probier das gleich mal aus!
Gruß
Steffen

AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 12:36:17
Steffen
Hallo Rudi,
also es funktioniert einwandfrei, das ist sehr beruhigend :) Danke Vielmals!
Gibt es den die Möglichkeit statt einer Überschrift eine komplette Spalte damit durchlaufen zu lassen bzw. mehrere Zellen in einer Spalte von oben bis unten abzuklappern?

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 13:19:31
Dieter
Hallo Steffen,
du kannst das mit dem folgenden Makro machen
Sub Trennen()
Dim anfangsZeile As Long
Dim letzteZeile As Long
Dim strTeilstück As String
Dim strRest As String
Dim pos As Long
Dim spaltenBuchstabe As String
Dim ws As Worksheet
Dim zeile As Long
anfangsZeile = 2
spaltenBuchstabe = "C"
Set ws = ThisWorkbook.Worksheets(1)
letzteZeile = ws.Cells(ws.Rows.Count, spaltenBuchstabe).End(xlUp).Row
If letzteZeile 

Anfangszeile und Spaltenbuchstaben legst du im Programm fest.
Viele Grüße
Dieter

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 13:46:05
Steffen
Hallo Dieter,
danke für deine Bemühung! Leider bin ich noch etwas schwer von Begriff was Makros angeht.
Ich habe dem Code jetzt ein End Sub darunter gesetzt und es mit den Startwerten Q und 12 initialisiert (erste Zelle dieser Spalte wo mein besagtes Problem auftritt) und durchlaufen lassen.
Leider passiert nichts wenn ich das Makro ausführe. Woran könnte das liegen?
Gruß Steffen

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 14:26:55
Dieter
Hallo Steffen,
das letzte Statement (End Sub) hatte ich leider nicht mitkopiert. Es gehört direkt hinter "Next zeile".
Das Makro geht davon aus, dass das zu bearbeitende Blatt das erste Blatt deiner Mappe ist.
Du kannst eine der folgenden Aktionen machen, um das Makro zu veranlassen, mit deinem Blatt zu arbeiten.
- du verschiebst dein Blatt an Position 1
- du änderst das Statement "Set ws = ThisWorkbook.Worksheets(1)" in "Set ws = ThisWorkbook.Worksheets(7)", wenn dein Blatt an Position 7 steht.
- du änderst das Statement "Set ws = ThisWorkbook.Worksheets(1)" in "Set ws = ThisWorkbook.Worksheets("Mein Blatt)", wenn dein Blatt den Namen "Mein Blatt" hat.
Um zu testen, ob das Makro ausgeführt wird, schreibst du hinter "Set ws = ..." das Statement
MsgBox "Blatt " & ws.Name
Viele Grüße und viel Erfolg
Dieter

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 14:48:29
Steffen
Hallo Dieter,
das ist genial! Hab tausend Dank!!
Ich habe nur noch eine letzte Frage. Kann ich das auch mit 2 Spalten gleichzeitig machen?
Die daneben liegende Spalte müsste auch mit dem Makro durchlaufen werden.
Nur habe ich dann sowohl in der ersten als auch in der zweiten Spalte entsprechen neue Zeilen hinzugefügt.
Beide Spalten beinhalten in jeder Zeile die gleiche Anzahl an Wörtern.
Beste Grüße und Danke nochmals
Steffen

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 15:30:20
Dieter
Hallo Steffen,
das kannst du mit dem folgenden Makro machen
Sub Trennen_2()
Dim anfangsZeile As Long
Dim anzNeuZeilen As Long
Dim letzteZeile As Long
Dim strTeilstück As String
Dim strRest As String
Dim pos As Long
Dim spalteDaneben As Long
Dim spaltenBuchstabe As String
Dim ws As Worksheet
Dim zeile As Long
anfangsZeile = 2
spaltenBuchstabe = "C"
Set ws = ThisWorkbook.Worksheets(1)
spalteDaneben = ws.Cells(1, spaltenBuchstabe).Column + 1
letzteZeile = ws.Cells(ws.Rows.Count, spaltenBuchstabe).End(xlUp).Row
If letzteZeile 
Viele Grüße
Dieter

Anzeige
AW: Werte aus Zeilenumbruch in neue Zeile
30.07.2014 15:54:08
Steffen
Klasse Forum, Dieter du hast mir den Tag gerettet!
Hab vielen vielen vielen Dank!!
Beste Grüße
Steffen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus Zeilenumbruch in neue Zeile umwandeln


Schritt-für-Schritt-Anleitung

Um Werte aus einem Zeilenumbruch in Excel in neue Zeilen umzuwandeln, kannst du VBA (Visual Basic for Applications) nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden VBA-Code ein:

    Sub WerteInNeueZeilen()
        Dim arr, arrErg(), Tmp, i As Integer, j As Integer, n As Integer
        arr = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)) ' Bereich anpassen
        ReDim arrErg(1 To 1, 1 To 1)
        arrErg(1, 1) = Cells(1, 1)
    
        For i = LBound(arr) To UBound(arr)
            Tmp = Split(arr(i, 1), vbLf)
            n = UBound(arrErg, 2)
            ReDim Preserve arrErg(1 To 1, 1 To n + UBound(Tmp) + 1)
            For j = 0 To UBound(Tmp)
                arrErg(1, n + j + 1) = Tmp(j)
            Next
        Next
    
        arrErg = WorksheetFunction.Transpose(arrErg)
        Cells(1, 1).Resize(UBound(arrErg)) = arrErg ' Zielbereich anpassen
    End Sub
  4. Speichere das Modul und schließe den VBA-Editor.

  5. Führe das Makro aus, um die Werte aus den Zeilenumbrüchen in neue Zeilen umzuwandeln.


Häufige Fehler und Lösungen

  • Fehler: Das Makro gibt keine Ergebnisse zurück.

    • Lösung: Stelle sicher, dass der Zielbereich korrekt angegeben ist und keine leeren Zellen vorhanden sind.
  • Fehler: Es wird eine Fehlermeldung beim Ausführen des Makros angezeigt.

    • Lösung: Überprüfe, ob das Arbeitsblatt, das du bearbeitest, das erste Blatt in der Arbeitsmappe ist oder ändere die Referenz im Code entsprechend.

Alternative Methoden

Wenn du den VBA-Weg nicht gehen möchtest, kannst du auch mit Formeln arbeiten:

  1. Formel für Zeilenumbruch in Zelle:

    • Verwende die Formel =TEXTJOIN(CHAR(10), TRUE, A1:A10) und aktiviere "Zeilenumbruch" in der Zelle.
  2. Excel Funktionen:

    • Nutze die Funktion WENN zusammen mit SPLIT und INDEX, um Werte ohne Zeilenumbrüche zu extrahieren und in neue Zellen einzufügen.

Praktische Beispiele

  1. Beispiel mit VBA:

    • Stelle dir vor, du hast in Zelle A2 den Text "Wert1" und einen Zeilenumbruch, gefolgt von "Wert2". Das Makro wird "Wert1" in A2 und "Wert2" in A3 platzieren.
  2. Formel Beispiel:

    • Wenn in Zelle A1 "Erstes Wort; Zweites Wort" steht und du nach Semikolons in neue Zeilen aufteilen möchtest, könntest du =SPLIT(A1, ";") verwenden (in neueren Excel-Versionen).

Tipps für Profis

  • Nutze Tastenkombinationen wie ALT + ENTER, um manuell neue Zeilen in einer Zelle zu erstellen.
  • Makros können angepasst werden, um mehrere Spalten gleichzeitig zu bearbeiten, indem du die Logik im VBA-Code erweiterst.
  • Speichere regelmäßig deine Arbeit, insbesondere wenn du mit VBA arbeitest, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie füge ich in einer Zelle einen Zeilenumbruch ein?
Du kannst dies tun, indem du ALT + ENTER drückst, während du in der Zelle schreibst.

2. Was passiert mit Zellen, die keine Zeilenumbrüche enthalten?
Diese Zellen bleiben unverändert, es werden nur die Zellen verarbeitet, die tatsächlich Zeilenumbrüche enthalten.

3. Kann ich das Makro auch auf mehrere Spalten anwenden?
Ja, du kannst das Makro so anpassen, dass es mehrere Spalten durchläuft, indem du die Logik im Code entsprechend änderst.

4. Wie kann ich Werte ohne Zeilenumbrüche in Excel anzeigen?
Nutze die Funktion TEXTVERKETTEN oder TEXTJOIN, um Werte zusammenzuführen und unerwünschte Zeilenumbrüche zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige