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

Forumthread: Zeilenumbruch in Textbox ergibt Sonderzeichen

Zeilenumbruch in Textbox ergibt Sonderzeichen
Sascha
Hallo liebe Experten.
Ich habe in einer Userform eine Textbox (TB2) bei welcher Multiline und Wordwrap auf True gesetzt sind.
Nun wenn ich einen Text eingebe und einen Zeilenumbruch machen will mit der ENTER-Taste, schreibt es in die definierte Zelle anstatt nur des Zeilenumbruchs ein Sonderzeichen hinein. Das Sonderzeichen ist ein leeres Quadrat....
Ist es möglich diesen Zeilenumbruch ohne Sonderzeichen einzugeben?
Es sollte so sein wie wenn ich direkt in der Zelle den Zeilenumbruch mit ALT-ENTER mache.
Hier der Code für das Einfügen in die Zelle:
Sub SatzEinfuegen()
'Heutiger Datensatz speichern
Dim n As Integer, zei As Long, i As Integer
Application.EnableEvents = False
Application.ScreenUpdating = False
Call SchutzAus
zei = 0
For i = 1 To 31                         'Schlaufe für heutigen Tag/Zeile bestimmen
Cells(i + 2, 1) = i
If Sheets("Hilf").Cells(i + 2, 6) = Date Then
zei = i + 2
Exit For
End If
Next i
For n = 2 To 28                        'Vorgesehen bis Spalte 28
If Datenmaske.Controls("TB" & n).Value >= "" Then
Cells(zei, n).Value = Datenmaske.Controls("TB" & n).Value
End If
Next n
End Sub
Gruss Sascha
Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 10:19:48
Dirk
Hallo!
Du kannst Das mit vblf, vbcrlf, chr(10) oder chr(13) machen.
z.b. MsgBox "Das Ist ein Text" & vbcrlf & "mit Zeilenumbruch"
Gruss
Dirk aus Dubai
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 10:34:06
Sascha
Hallo Dirk. Danke für Deine Antwort.
Aber kannst Du mir bitte ein wenig weiterhelfen?
Wo muss ich denn diese Eingaben machen? Im Code oder geht das irgendwie mit einem Keypress Ereignis?
Wie muss der Code dann genau aussehen?
LG Sascha
Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 11:06:23
ing.grohn
Hallo Sascha,
Dirk beschreibt das Verfahren wenn Du mit VBA Text in die Textbox schreiben willst.
Während der händischen Eingabe in die Textbox erreiche ich mit "STRG Enter" eine neue Zeile!
"ALT Enter" bewirkt bei mir einen Ton.
Mit freundlichen Grüßen
Albrecht
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 11:52:28
Sascha
Hallo Albrecht,
Mit dem Tastaturlayout Schweiz, funktioniert der Zeilenumbruch händisch nur mit ALT-ENTER
Vielleicht kann man das Problem anders Lösen?
Das eigentliche Problem ist ja, dass wenn ich via Userform in eine Textbox schreibe, und darin mit ENTER einen Zeilenumbruch erwirken will, dass dann in der Zelle anstatt nichts ein Sonderzeichen steht als Platzhalter für den Zeilenumbruch
Gruss Sascha
Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 11:19:28
Rudi
Hallo,
format iere die Zelle mit Zeilenumbruch.
   For n = 2 To 28                        'Vorgesehen bis Spalte 28
If Datenmaske.Controls("TB" & n).Value >= "" Then
Cells(zei, n).Value = Datenmaske.Controls("TB" & n).Value
Cells(zei, n).WrapText=True
End If

Gruß
Rudi
Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 11:45:32
Sascha
Hallo Rudi,
Bekomme immernoch dasselbe Ergebnis...
Hmmm...Woran kann das nur liegen?
LG Sascha
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 12:05:55
Rudi
Hallo,
Cells(zei, n).Value = Replace(Datenmaske.Controls("TB" & n).Value, Chr(13),"")
Gruß
Rudi
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 13:28:47
Sascha
Hallo Rudi,
Ja super, genau so soll es sein.. :-))
Vielen Dank
Und noch einen schönen Tag, oder vielleicht bis später... (habe noch eine kleine Frage, mache ein nuer Beitrag)
Liebe Grüsse Sascha
Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 12:24:16
Josef

Hallo Sascha,
Cells(zei, n).Value = Replace(Datenmaske.Controls("TB" & n).Value, Chr(13), vbCrLf)


« Gruß Sepp »

Anzeige
AW: Zeilenumbruch in Textbox ergibt Sonderzeichen
16.01.2012 13:33:39
Sascha
Hallo Sepp,
Bei Deinem Code hatte ich noc immer denselben Fehler.
Rudi Hat mir diesen Code geschrieben:
Cells(zei, n).Value = Replace(Datenmaske.Controls("TB" & n).Value, Chr(13),"")
Nun funktionierts... :-)
Vielen Dank Sepp
Gruss Sascha
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch in Textbox ohne Sonderzeichen


Schritt-für-Schritt-Anleitung

Um einen Zeilenumbruch in einer Textbox in Excel VBA zu ermöglichen, ohne dass ein Sonderzeichen erscheint, gehe wie folgt vor:

  1. Stelle sicher, dass die Eigenschaften Multiline und WordWrap der Textbox auf True gesetzt sind.

  2. Verwende den folgenden Code im KeyPress-Ereignis der Textbox, um den Zeilenumbruch korrekt zu verarbeiten:

    Private Sub TB2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       If KeyAscii = vbKeyReturn Then
           KeyAscii = 0 ' Verhindert das Standardverhalten der ENTER-Taste
           TB2.Value = TB2.Value & vbCrLf ' Fügt einen Zeilenumbruch hinzu
       End If
    End Sub
  3. Achte darauf, dass du bei der Zuweisung des Wertes an die Zelle den Zeilenumbruch mit vbCrLf einfügst:

    Cells(zei, n).Value = Replace(Datenmaske.Controls("TB" & n).Value, Chr(13), vbCrLf)

Häufige Fehler und Lösungen

  • Sonderzeichen erscheinen statt Zeilenumbruch: Stelle sicher, dass du im Code Replace verwendest, um unerwünschte Zeichen zu entfernen. Beispiel:

    Cells(zei, n).Value = Replace(Datenmaske.Controls("TB" & n).Value, Chr(13), "")
  • Zeilenumbruch funktioniert nicht mit ALT-ENTER: Versuche, STRG + ENTER zu verwenden, um einen Zeilenumbruch in der Textbox zu erzeugen.


Alternative Methoden

Wenn du in einem Excel-Textfeld oder einer PowerPoint-Textbox arbeitest, kannst du die folgenden Methoden verwenden:

  • In einem Excel-Textfeld kannst du den Zeilenumbruch durch die Verwendung von vbCrLf aktivieren.

  • In einer PowerPoint-Textbox funktioniert der Zeilenumbruch ebenfalls durch vbCrLf, um sicherzustellen, dass der Text korrekt angezeigt wird.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für den Zeilenumbruch:

  1. Userform mit Textbox:

    • Erstelle eine Userform mit einer Textbox (TB1) und füge den oben genannten Code hinzu.
  2. Zelle formatieren:

    • Stelle sicher, dass die Zelle, in die der Text eingefügt wird, für den Zeilenumbruch formatiert ist:
    Cells(zei, n).WrapText = True

Tipps für Profis

  • Nutze VBA-Module, um wiederverwendbaren Code zu erstellen, der den Zeilenumbruch in verschiedenen Textboxen deiner Anwendung behandelt.
  • Wenn du mit Access arbeitest, achte darauf, dass die Textfelder ebenfalls für den Zeilenumbruch konfiguriert sind. Verwende vbCrLf für die Zeilenumbruchzeichen.
  • Überprüfe die Tastatureinstellungen, falls die ENTER-Taste nicht wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Warum erscheinen Sonderzeichen bei Zeilenumbrüchen in der Textbox?
Sonderzeichen erscheinen, weil das Standardverhalten der ENTER-Taste nicht richtig behandelt wird. Stelle sicher, dass du das KeyPress-Ereignis anpasst.

2. Wie kann ich einen Zeilenumbruch in einer Excel-Zelle hinzufügen?
Verwende die Kombination ALT + ENTER, um einen Zeilenumbruch innerhalb einer Zelle einzufügen.

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