Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilenumbruch in Zelle bei ;

Zeilenumbruch in Zelle bei ;
08.12.2016 11:54:14
Peter
Hallo zusammen
Ich möchte in der Tabelle1 in Zelle B9, mit VBA, jeweils nach jedem Semikolon einen Zeilenumbruch erzeugen, das Semikolon mit einem möglichen Leerzeichen soll gelöscht werden.
Beispielsatz:
Ich möchte in der Tabelle1 in Zelle B9; jeweils nach jedem Semikolon; einen Zeilenumbruch erzeugen; und das Semikolon+Leerzeichen; soll gelöscht werden.
Ergebnis: mit Zeilenumbruch, Semikolon und mögliches Leerzeichen gelöscht:
Ich möchte in der Tabelle1 in Zelle B9
jeweils nach jedem Semikolon
einen Zeilenumbruch erzeugen
und das Semikolon+Leerzeichen
soll gelöscht werden.
Konnte im Netz nichts finden, wie müsste der Code aussehen?
Danke
Viele Grüsse,
Peter
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch in Zelle bei ;
08.12.2016 12:19:16
Rudi
Hallo,
Sub aa()
With Range("B9")
.Value = Replace(.Value, ";", vbLf)
.Value = Replace(.Value, vbLf & " ", vbLf)
End With
End Sub
Gruß
Rudi
AW: + angepasste Zeilenhöhen
08.12.2016 17:27:14
Peter
Hallo Rudi
Funktioniert super Danke Dir.
Ich habe noch eine Frage, weißt Du wie ich entsprechend dem Zeilenumbruch, automatisch die neue Zeilenhöhe anpassen könnte, wie müsste der Code dazu aussehen?
Danke
Viele Grüsse,
Peter
Anzeige
AW: + angepasste Zeilenhöhen
08.12.2016 19:56:01
Uduuh
Hallo,
wenn du keine verbundenen Zellen in der Zeile hast:
Sub aa()
With Range("B9")
.Value = Replace(.Value, ";", vbLf)
.Value = Replace(.Value, vbLf & " ", vbLf)
.EntireRow.AutoFit
End With
End Sub
Gruß aus’m Pott
Udo

Anzeige
AW: Zeilenhöhen mit Verbundenen Zellen
09.12.2016 07:55:57
Peter
Hallo Udo
Danke für den Code, funktioniert Bestens, jedoch habe ich Verbundene Zellen.
Wie müsste der Code aussehen, damit ich die Zeilenhöhe mit Verbundenen Zellen realiseren könnte (verbunden drei Zellen B9:B11)? Gibt es da eine Möglichkeit?
Danke
Viele Grüsse,
Peter
AW: Zeilenhöhen mit Verbundenen Zellen
09.12.2016 09:03:41
Daniel
HI
in Verbundzellen ist es nicht möglich, die Zeilenhöhe oder -breite automaisch ermitteln zu lassen.
du musst dann so vorgehen:
1. Zellverbund aufheben
2. Zeilenhöhe für Einzelzelle automatisch ermitteln
3. Diese Zeilenhöhe auf die Anzahl der Verbundzellen aufteilen
4. Zellverbund wieder herstellen.
funktioniert für dein Beispiel so, die Gesamthöhe wird gleichmäßig zwischen den Zeilen des Verbundes aufgeteilt:

Sub aa()
Dim Anzahl As Long
Dim Höhe As Double
With Range("B9")
Anzahl = .MergeArea.Rows.Count
.Value = Replace(.Value, ";", vbLf)
.Value = Replace(.Value, vbLf & " ", vbLf)
.MergeCells = False
.EntireRow.AutoFit
Höhe = .RowHeight / Anzahl
With .Resize(Anzahl)
.EntireRow.RowHeight = Höhe
.MergeCells = True
End With
End With
End Sub
Gruß Daniel
Anzeige
AW: Zeilenhöhen mit Verbundenen Zellen
09.12.2016 13:21:22
Peter
Hi Daniel
Funktioniert sehr gut, vielen DANK!
Viele Grüsse,
Peter
AW: + angepasste Zeilenhöhen
09.12.2016 06:45:11
Peter
Hallo Rudi
Funktioniert super Danke Dir.
Ich habe noch eine Frage, weißt Du wie ich entsprechend dem Zeilenumbruch, automatisch die neue Zeilenhöhe anpassen könnte, wie müsste der Code dazu aussehen?
Danke
Viele Grüsse,
Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Zeilenumbruch in Excel-Zellen bei Semikolon


Schritt-für-Schritt-Anleitung

Um in Excel einen Zeilenumbruch in einer Zelle bei jedem Semikolon zu erzeugen und das Semikolon zusammen mit möglichen Leerzeichen zu löschen, kannst Du folgenden VBA-Code verwenden:

  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 Code in das Modul ein:

    Sub ZeilenumbruchErzeugen()
        With Range("B9")
            .Value = Replace(.Value, ";", vbLf) ' Semikolon durch Zeilenumbruch ersetzen
            .Value = Replace(.Value, vbLf & " ", vbLf) ' Verbundene Leerzeichen entfernen
            .EntireRow.AutoFit ' Zeilenhöhe anpassen
        End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.


Häufige Fehler und Lösungen

  • Fehler: "Der Code funktioniert nicht, wenn Zellen verbunden sind."

    • Lösung: Du musst den Zellverbund aufheben, bevor Du den Zeilenumbruch und die Zeilenhöhenanpassung vornimmst. Hier ist ein angepasster Code:
    Sub ZeilenumbruchMitVerbundenenZellen()
        Dim Anzahl As Long
        Dim Höhe As Double
        With Range("B9")
            Anzahl = .MergeArea.Rows.Count
            .Value = Replace(.Value, ";", vbLf)
            .Value = Replace(.Value, vbLf & " ", vbLf)
            .MergeCells = False
            .EntireRow.AutoFit
            Höhe = .RowHeight / Anzahl
            With .Resize(Anzahl)
                .EntireRow.RowHeight = Höhe
                .MergeCells = True
            End With
        End With
    End Sub
  • Fehler: "Die Zeilenhöhe passt nicht zum Inhalt."

    • Lösung: Stelle sicher, dass das AutoFit für die gesamte Zeile aktiviert ist.

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Funktion "Text in Spalten" nutzen, um den Inhalt zu teilen:

  1. Wähle die Zelle aus, die das Semikolon enthält.
  2. Gehe zu Daten > Text in Spalten.
  3. Wähle Getrennt und dann Weiter.
  4. Setze ein Häkchen bei Semikolon und klicke auf Fertig stellen.
  5. Danach kannst Du die Zellen manuell anpassen, um die neuen Zeilen zu erstellen.

Praktische Beispiele

Beispiel 1: Wenn in Zelle B9 folgender Text steht:

Ich möchte in der Tabelle1 in Zelle B9; jeweils nach jedem Semikolon; einen Zeilenumbruch erzeugen; und das Semikolon+Leerzeichen; soll gelöscht werden.

Nach Ausführung des Makros wird der Text so aussehen:

Ich möchte in der Tabelle1 in Zelle B9
jeweils nach jedem Semikolon
einen Zeilenumbruch erzeugen
und das Semikolon+Leerzeichen
soll gelöscht werden.

Beispiel 2: Bei verbundenen Zellen B9:B11 wird die Gesamthöhe gleichmäßig zwischen den verbundenen Zellen aufgeteilt.


Tipps für Profis

  • Achte darauf, den Zellverbund immer wieder herzustellen, nachdem Du die Zeilenhöhe angepasst hast.
  • Verwende vbCrLf anstelle von vbLf, wenn Du sicherstellen möchtest, dass der Zeilenumbruch in allen Excel-Versionen richtig angezeigt wird.
  • Du kannst den Code leicht anpassen, um andere Trennzeichen (z.B. Kommas) zu verwenden.

FAQ: Häufige Fragen

1. Wie kann ich den Zeilenumbruch in einer anderen Zelle als B9 durchführen? Du musst einfach den Zellbezug im Code anpassen, z.B. Range("A1") anstelle von Range("B9").

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der VBA-Code funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 bis 2021 und Excel 365.

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