Automatischer Zeilenumbruch in Textfeld erkennen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Automatischer Zeilenumbruch in Textfeld erkennen
von: Michael
Geschrieben am: 17.11.2003 22:32:47

Hallo Listenteilnehmer,
in einem Textfeld können Texte eingegeben werden, die sich über mehrere Zeilen erstrecken. Ich muß nun wissen, wieviele Zeilen der eingegebene Text ausmacht.
Gibt es eine Möglichkeit, den automatischen Zeilenumbruch herauszufiltern bzw. zu erkennen (vbCrLf wird nur mit manuellem Zeilenumbruch = Return gesetzt)?

Bild


Betrifft: AW: Zeilenumbrüche zählen und löschen
von: Galenzo
Geschrieben am: 18.11.2003 08:56:37

Hallo,
dazu zählst du am besten alle Zeichen des eingegebenen Werts durch und prüfst, ob das jeweilige Zeichen ein Zeilenumbruchzeichen (vbLf) ist. Mit der Excelfunktion SUBSTITUTE kannst du dann diese Zeichen rauslöschen:


Private Sub TextBox1_Change()
Dim As Integer, Anz As Integer
    For i = 1 To Len(TextBox1.Value)
    If Mid(TextBox1.Value, i, 1) = vbLf Then
        Anz = Anz + 1
    End If
Next i
TextBox3.Value = Anz
TextBox2.Value = Application.WorksheetFunction.Substitute(TextBox1.Value, vbCrLf, "")
End Sub

Viel Erfolg!


Bild


Betrifft: AW: Automatischer Zeilenumbruch in Textfeld erkennen
von: Michael
Geschrieben am: 18.11.2003 17:05:37

Vielen Dank für den Tipp. Leider reicht das noch nicht ganz.
Wenn die Zeile automatisch umgebrochen wird (rechter Rand des Textfeldes erreicht) wird kein vbLF bzw. Code 10 gesetzt.


Bild

Beiträge aus den Excel-Beispielen zum Thema " Automatischer Zeilenumbruch in Textfeld erkennen"