Herbers Excel-Forum - das Archiv
Textfeld
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
- Textfeld von Maximilian vom 04.12.2003 10:50:53
Betrifft: Textfeld
von: Maximilian
Geschrieben am: 04.12.2003 10:50:53
Hallo Excelfreunde !
ich suche eine Lösung die dem Anwender in einem Textfeld max. nur die Eingabe von zwei Zeilen erlaubt. Multiline hat den Wert True. Da das Einfügen einer neuen Zeile mit der Eingabetaste erlaubt bleiben muss, kann ich vermutlich die Methode der max. zulässigen Zeichen nicht verwenden.
Ich bedanke mich schon im voraus für die Lösung.
LG
Maximilian
Betrifft: AW: Textfeld
von: Nayus
Geschrieben am: 04.12.2003 12:43:24
Hallo,
vielleicht hilft Dir ja folgende Lösung.
To Do:
Anpassen: Name der Userform, hier "UserForm1"
Name des Textfeldes, hier "TextBox1"
Funktion:
Unterbinden, dass meht als 2 Zeilen Text in eine Textbox eingegeben
werden können (max. 1 Zeilenumbruch erlauben)
Trigger:
KeyPress-Ereignis der Textbox
Beispiel:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim s As String, buff As String
Dim l_pos As Integer
l_pos = 0
lf_cnt = 0
s = UserForm1.TextBox1.Text
' Nach Zeilenumbrüchen suchen
For i = 1 To Len(s)
buff = buff & Mid(s, i, 1)
If Mid(s, i, 1) = Chr(13) Then
lf_cnt = lf_cnt + 1
If lf_cnt = 2 Then
l_pos = i
Exit For
End If
End If
Next i
If l_pos > 0 Then
' 2. Zeilenumbruch gefunden, Zeilenumbruch entfernen
buff = Mid(buff, 1, Len(buff) - 1)
End If
UserForm1.TextBox1.Text = buff
End Sub
Gruß,
Nayus
Betrifft: AW: Textfeld
von: Maximilian
Geschrieben am: 04.12.2003 15:40:23
Danke !
Betrifft: AW: Textfeld - Eingabelänge begrenzen
von: Galenzo
Geschrieben am: 04.12.2003 12:46:32
Hallo,
damit kannst du die maximale Länge der Eingabe in das Textfeld begrenzen:
Private Sub TextBox1_Change()
If Len(TextBox1.Value) > 8 Then
TextBox1.Value = Left(TextBox1.Value, Len(TextBox1.Value) - 1)
End If
end sub
Ich hoffe, das hilft dir weiter.
mfg
Betrifft: AW: Textfeld - Eingabelänge begrenzen
von: Maximilian
Geschrieben am: 04.12.2003 15:39:42
Danke Ja