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

Forumthread: doppelter Zeilenumbruch

doppelter Zeilenumbruch
17.10.2007 12:21:09
Tino
Hallo,
ich lese eine Spaltenüberschrift in eine Userform in ein Bezeichnungsfeld
(Label1.Caption = Range("A1")).
Diese Überschrift hat einen von Hand eingefügten Zeilenumbruch.(Alt+Enter)
Beim erneuten auslesen des Label1 wird mir angezeigt, dass zwei Zeilenumbrüche erzeugt wurden!
Dies führt aber zu Problemen zBsp: wenn ich nach dieser Überschrift suche!
Wie kann ich dies verhindern?
Gruß
Tino

Anzeige

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

Betreff
Datum
Anwender
Anzeige
hier noch ein Beispiel
17.10.2007 14:24:46
Tino
Hallo,
damit es besser zu verstehen ist, hier noch eine Bsp.-datei mit Userform
In A1 = der von Hand eingegebene Zeilenumbruch.
aus dem Label1 funktioniert es nicht = A2
aus einem String ist es richtig =A3
aus Label1 in String danach in Zelle = A4 geht auch nicht
https://www.herber.de/bbs/user/46836.xls
Gruß
Tino

Anzeige
AW: hier noch ein Beispiel
17.10.2007 15:00:05
Josef
Hallo Tino,
Range("A2") = Replace(Me.Label1.Caption, vbCrLf, vbLf)

Gruß Sepp

Danke
17.10.2007 15:26:43
Tino
Hallo Sepp,
funktioniert danke
Gruß
Tino
Anzeige
;
Anzeige

Infobox / Tutorial

Doppelter Zeilenumbruch in Excel Userforms vermeiden


Schritt-für-Schritt-Anleitung

  1. Label in Userform hinzufügen: Öffne das VBA-Editorfenster und füge ein Label (Label1) in deine Userform ein.

  2. Spaltenüberschrift einlesen: Setze den Code auf die Caption des Labels, um die Überschrift aus einer Zelle (z.B. A1) zu lesen:

    Label1.Caption = Range("A1").Value
  3. Zeilenumbrüche ersetzen: Um doppelte Zeilenumbrüche zu vermeiden, verwende die Replace-Funktion in VBA. Füge folgenden Code hinzu, um den Zeilenumbruch zu bereinigen:

    Range("A2").Value = Replace(Label1.Caption, vbCrLf, vbLf)
  4. Testen: Überprüfe, ob die Daten in A2 jetzt korrekt angezeigt werden, ohne doppelte Zeilenumbrüche.


Häufige Fehler und Lösungen

  • Problem: Doppelte Zeilenumbrüche werden angezeigt.

    • Lösung: Stelle sicher, dass du die Replace-Funktion anwendest, um vbCrLf durch vbLf zu ersetzen, wie im Beispiel gezeigt.
  • Problem: Der Code funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob die richtige Zelle ausgewählt ist und dass der Code im richtigen Kontext ausgeführt wird.

Alternative Methoden

Eine alternative Möglichkeit, um mit Zeilenumbrüchen in Excel umzugehen, wäre die Verwendung von Formeln:

  1. Formel zur Bereinigung: Du kannst in einer anderen Zelle die folgende Formel verwenden:

    =SUBSTITUTE(A1; CHAR(10); " ")

    Diese ersetzt Zeilenumbrüche durch Leerzeichen.

  2. VBA-Funktion: Du könntest auch eine benutzerdefinierte VBA-Funktion erstellen, die die Zeilenumbrüche entfernt und die bereinigte Überschrift zurückgibt.


Praktische Beispiele

  • Beispiel für Label mit Zeilenumbruch: Wenn in Zelle A1 der Text „Überschrift1“ (mit einem Zeilenumbruch) steht, wird die Caption des Labels so gesetzt:
    Label1.Caption = "Überschrift1" & vbCrLf & "Unterüberschrift"

    Nach dem Ersetzen der Zeilenumbrüche wird A2 nur „Überschrift1 Unterüberschrift“ anzeigen.


Tipps für Profis

  • Effiziente Nutzung von Replace: Nutze die Replace-Funktion nicht nur für Zeilenumbrüche, sondern auch für andere unerwünschte Zeichen.

  • Debugging: Verwende den Debugger im VBA-Editor, um sicherzustellen, dass die Werte korrekt geladen und bearbeitet werden.

  • Automatisierung: Setze den Code in das UserForm_Initialize-Ereignis, um es automatisch beim Laden der Userform auszuführen.


FAQ: Häufige Fragen

1. Warum werden doppelte Zeilenumbrüche angezeigt?
Wenn du einen manuellen Zeilenumbruch mit Alt+Enter einfügst, kann es vorkommen, dass Excel diesen als zwei Zeilenumbrüche speichert.

2. Was ist der Unterschied zwischen vbCrLf und vbLf?
vbCrLf steht für "Carriage Return" und "Line Feed" zusammen, während vbLf nur den Zeilenumbruch darstellt. Das Ersetzen hilft, die Darstellung zu vereinheitlichen.

3. Funktioniert dieser Ansatz in allen Excel-Versionen?
Ja, die beschriebenen Methoden sind in den meisten Excel-Versionen (ab Excel 2007) anwendbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige