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

Automatischer Zeilenumbruch in Textfeld erkennen

Forumthread: Automatischer Zeilenumbruch in Textfeld erkennen

Automatischer Zeilenumbruch in Textfeld erkennen
17.11.2003 22:32:47
Michael
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)?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbrüche zählen und löschen
18.11.2003 08:56:37
Galenzo
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!
Anzeige
AW: Automatischer Zeilenumbruch in Textfeld erkennen
18.11.2003 17:05:37
Michael
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.
;
Anzeige

Infobox / Tutorial

Automatischer Zeilenumbruch in Excel-Textfeldern erkennen


Schritt-für-Schritt-Anleitung

Um den automatischen Zeilenumbruch in einem Excel-Textfeld zu erkennen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Aktiviere die Entwicklertools: Stelle sicher, dass die Entwicklertools in Excel aktiviert sind. Du findest sie unter „Datei“ > „Optionen“ > „Menüband anpassen“.

  2. Füge ein Textfeld hinzu: Platziere ein Textfeld auf deinem Arbeitsblatt. Klicke dazu auf „Einfügen“ und wähle „Textfeld“ aus.

  3. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Füge den Code ein: Erstelle ein neues Modul und füge den folgenden Code ein:

    Private Sub TextBox1_Change()
       Dim i 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
  5. Schließe den Editor: Speichere deine Änderungen und schließe den VBA-Editor.

  6. Teste das Textfeld: Gib Text in das Textfeld ein und achte darauf, wie die Anzahl der Zeilen in TextBox3 aktualisiert wird.


Häufige Fehler und Lösungen

  • Problem: Der Code zählt keine Zeilenumbrüche bei automatischen Zeilenumbrüchen.

    • Lösung: Automatische Zeilenumbrüche in Excel setzen kein vbLf. Stattdessen kannst du die Gesamtanzahl der Zeichen verwenden, um die Zeilenanzahl zu schätzen.
  • Problem: Der VBA-Code funktioniert nicht.

    • Lösung: Überprüfe, ob das Textfeld korrekt benannt ist (z.B. TextBox1). Achte auch darauf, dass die Entwicklertools aktiviert sind.

Alternative Methoden

Falls du keinen Zugang zu VBA hast, kannst du auch die Funktion LEN in Kombination mit SUBSTITUTE verwenden, um die Anzahl der Zeilen zu schätzen:

=LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))

Diese Formel zählt die Anzahl der Zeilenumbrüche in einer Zelle und gibt dir eine Vorstellung davon, wie viele Zeilen der Text enthält.


Praktische Beispiele

  1. Zählen der Zeilen in einem Textfeld: Wenn du in ein Textfeld mit dem Namen TextBox1 schreibst, wird die Anzahl der Zeilen in TextBox3 automatisch aktualisiert.

  2. Ersetzen von Zeilenumbrüchen: Wenn du in einem Textfeld einen Zeilenumbruch entfernen möchtest, kannst du SUBSTITUTE in Excel verwenden, um CHAR(10) durch ein Leerzeichen zu ersetzen.


Tipps für Profis

  • Automatische Zeilenumbrüche aktivieren: Stelle sicher, dass das Textfeld für den automatischen Zeilenumbruch konfiguriert ist. Gehe dazu in die Formatierungsoptionen des Textfeldes und aktiviere „Text umbrechen“.

  • Zielgerichtete Verwendung von VBA: Nutze die Application.WorksheetFunction-Methoden, um komplexere Manipulationen an Textfeldern vorzunehmen, insbesondere bei der Arbeit mit Access-Daten.


FAQ: Häufige Fragen

1. Wie kann ich den automatischen Zeilenumbruch in Excel aktivieren?
Du kannst den automatischen Zeilenumbruch aktivieren, indem du mit der rechten Maustaste auf das Textfeld klickst, „Text formatieren“ wählst und die Option „Text umbrechen“ aktivierst.

2. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten Excel-Versionen ab Excel 2000 verfügbar. Stelle sicher, dass du eine Version verwendest, die VBA unterstützt.

3. Gibt es eine Möglichkeit, Zeilenumbrüche in Access zu zählen?
Ja, in Access kannst du ebenfalls VBA verwenden, um Zeilenumbrüche in einem Textfeld zu zählen. Der Ansatz ist ähnlich wie in Excel.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige