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

Textbox Anzahl der Zeilen vorgeben

Forumthread: Textbox Anzahl der Zeilen vorgeben

Textbox Anzahl der Zeilen vorgeben
04.04.2008 14:50:50
Wolfgang
Hallo,
ist es möglich einer Textbox in einer Userform die Anzahl der Zeilen zubeschränken zB auf nur 7 Zeilen.
Oder eben nur Zeilen im sichtbaren Bereich.
Wenn ja, dann bitte wie - vielleicht über ein Makro ?
Gruß Wolfgang

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox Anzahl der Zeilen vorgeben
04.04.2008 14:53:25
Renee
Hi Wolfgang,
Anzahl Zeilen: Nein.
Anzahl Zeichen: Ja .MaxLength
GreetZ Renée

AW: Textbox Anzahl der Zeilen vorgeben
04.04.2008 16:03:25
Wolfgang
Hallo Renée,
danke für die schnelle Antwort.
Gibt es vielleicht sowas wie ein Workaround ?
Es geht bei darum das alles was aus dem Sichtbereich der Textbox geht auch nicht mehr im Druckbereich ist und somit auch nicht gedruckt werden kann.
Was ich gerne verhindern würde.
Gruß Wolfgang

Anzeige
AW: Textbox Anzahl der Zeilen vorgeben
04.04.2008 16:49:00
Daniel
Hallo
du kannst mit der .LineCount-Eigenschaft ermitteln, wieviele Zeilen deine Eingabe in die Textbox hat.
über folgende Makros kannst du die Eingabe sperren, wenn es mehr Zeilen als der vorgegebene Wert sind:

Option Explicit
Dim Eingabesperren As Boolean
Private Sub TextBox1_Change()
Dim MaxZeilen As Integer
MaxZeilen = 7
Eingabesperren = False
If TextBox1.LineCount > MaxZeilen Then
MsgBox "Es sind nur " & MaxZeilen & " Zeilen zulässig." & Chr("10") & "Bitte Textteile lö _
schen.",   VbCritical
Eingabesperren = True
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Eingabesperren Then KeyAscii = 0
End Sub


Gruß, Daniel

Anzeige
AW: Textbox Anzahl der Zeilen vorgeben
04.04.2008 19:38:00
Wolfgang
Hallo Daniel,
danke für das Makro. Ich werde es gleich mal ausprobieren.
Gruß Wolfgang

AW: Funktioniert bestens , Danke Daniel
04.04.2008 20:14:37
Wolfgang
.
;
Anzeige
Anzeige

Infobox / Tutorial

Textbox in Userform: Zeilenanzahl Begrenzen


Schritt-für-Schritt-Anleitung

Um die Anzahl der Zeilen in einer Textbox innerhalb einer Userform in Excel zu begrenzen, kannst du das folgende Makro verwenden. Diese Methode ist für Excel-Versionen geeignet, die VBA unterstützen.

  1. Öffne die Userform: Gehe in den VBA-Editor (ALT + F11) und öffne die Userform, die die Textbox enthält.
  2. Füge das Makro hinzu: Klicke auf die Textbox und füge den folgenden Code in das Codefenster ein.
Option Explicit
Dim Eingabesperren As Boolean

Private Sub TextBox1_Change()
    Dim MaxZeilen As Integer
    MaxZeilen = 7
    Eingabesperren = False

    If TextBox1.LineCount > MaxZeilen Then
        MsgBox "Es sind nur " & MaxZeilen & " Zeilen zulässig." & Chr(10) & "Bitte Textteile löschen.", vbCritical
        Eingabesperren = True
    End If
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Eingabesperren Then KeyAscii = 0
End Sub
  1. Testen: Starte die Userform und teste die Textbox, indem du mehr als 7 Zeilen eingibst. Du solltest eine Fehlermeldung erhalten, wenn du versuchst, mehr als die erlaubten Zeilen einzugeben.

Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht
    Lösung: Stelle sicher, dass du das Makro im richtigen Codefenster der Userform eingefügt hast. Überprüfe auch, ob die Textbox korrekt benannt ist (z.B. TextBox1).

  • Fehler: Zeilenanzahl wird nicht korrekt gezählt
    Lösung: Vergewissere dich, dass die Textbox die Eigenschaft MultiLine auf True gesetzt hat. Dies ist notwendig, um mehrere Zeilen zu ermöglichen.


Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du alternativ die Maximalanzahl an Zeichen mit der .MaxLength-Eigenschaft der Textbox begrenzen. Dies ist jedoch nicht gleichwertig, da es die Zeilenanzahl nicht direkt kontrolliert.

  1. Setze die Eigenschaft MaxLength:
    • Wähle die Textbox in der Userform aus.
    • Gehe zu den Eigenschaften und setze MaxLength auf einen Wert, der die Zeilenanzahl indirekt begrenzt (z.B. 100 Zeichen).

Praktische Beispiele

Hier sind einige praktische Anwendungen für die Begrenzung der Zeilenanzahl in einer Textbox:

  • Feedback-Formular: Wenn du ein Feedback-Formular erstellst, das nicht zu lang sein soll, kannst du die Zeilenanzahl begrenzen, um sicherzustellen, dass die Benutzer prägnante Rückmeldungen geben.
  • Notizenfeld: In einer Anwendung, wo Benutzer Notizen eingeben, kann die Begrenzung der Zeilenanzahl helfen, den Überblick zu behalten und nur die wichtigsten Informationen zu erfassen.

Tipps für Profis

  • Benutzerfreundliche Fehlermeldungen: Gestalte die Fehlermeldungen ansprechend und hilfreich, um dem Benutzer klar zu machen, was er ändern muss.
  • Dynamische Anpassungen: Du kannst das Makro erweitern, um die maximal erlaubte Zeilenanzahl dynamisch basierend auf anderen Eingaben oder Bedingungen zu ändern.

FAQ: Häufige Fragen

1. Kann ich die Zeilenanzahl dynamisch ändern?
Ja, du kannst den Wert von MaxZeilen im Makro anpassen, je nach Bedingungen im Programm.

2. Funktioniert dieses Makro in Excel 365?
Ja, das Makro funktioniert in Excel 365 und anderen Versionen, die VBA unterstützen.

3. Gibt es eine Möglichkeit, die Sichtbarkeit von Zeilen zu steuern?
Das Makro kann so angepasst werden, dass es auch die Sichtbarkeit von Text innerhalb der Textbox steuert, indem es bei Überschreitung der Zeilenanzahl nicht nur eine Warnung ausgibt, sondern auch den Text zurücksetzt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige