Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

TextBox: bei Länge x nur Löschen

TextBox: bei Länge x nur Löschen
21.04.2017 10:01:19
Max2
Hallo Leute,
ich habe eine TextBox auf einer UserForm, welche für Bemerkungen gedacht ist.
Die Bemerkung darf nur eine bestimmte Länge haben.
Diese Prüfe ich und wenn die erlaubte Länge Überschritten wird, soll nur noch
das Löschen von Text innerhalb der TextBox zugelassen werden.
Ich weiß aber nicht ganz wie ich das anstellen soll.
Habt ihr da eine Idee?
Hier Code falls er euch interessiert:

Private Sub TextBox1_Change()
Dim curLength As Integer
Dim curString As String
curString = TextBox1.Value
curLength = Len(curString)
Call check_Length_of_Input(curLength)
End Sub
Function check_Length_of_Input(ByVal curLength As Integer) As Integer
Dim maxLength As Integer
Dim stopInput As Boolean
On Error Resume Next
stopInput = False
maxLength = Len("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
check_Length_of_Input = maxLength
check_Length_of_Input = check_Length_of_Input - curLength
stopInput = Length_of_Input_is_Invalid(maxLength, curLength)
Select Case stopInput
Case False
UserForm2.TextBox1.Locked = False
UserForm2.Label1.Caption = check_Length_of_Input
Case True
UserForm2.Label1.Caption = check_Length_of_Input
UserForm2.TextBox1.Locked = True
Call warning_Message_for_Input
End Select
End Function
Function Length_of_Input_is_Invalid(ByVal maxLength As Integer, _
ByVal curLength As Integer) As Boolean
On Error Resume Next
If maxLength - curLength = 0 Then
Length_of_Input_is_Invalid = True
End If
End Function
Function warning_Message_for_Input()
Dim warning As Byte
On Error Resume Next
warning = MsgBox("Die eingegebene Bemerkung übschreitet die erlaubte Zeichenmenge!",  _
vbCritical & vbOKOnly, "ACHTUNG!")
If warning = 1 Then
UserForm2.TextBox1.Locked = False
End If
End Function

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

Betreff
Datum
Anwender
Anzeige
AW: TextBox: bei Länge x nur Löschen
21.04.2017 10:07:15
Nepumuk
Hallo,
warum legst du nicht in der Textbox-Eigenschaft MaxLength fest wie viele Zeichen eingegeben werden dürfen?
Gruß
Nepumuk
Danke! Kannte ich noch nicht...owT
21.04.2017 10:35:10
Max2

AW: TextBox: bei Länge x nur Löschen
21.04.2017 10:10:02
ede
Hallo Max,
warum so kompliziert

Private Sub TextBox1_Change()
If Len(TextBox1.Text) > 20 Then
TextBox1.Text = Left(TextBox1.Text, 20)
End If
End Sub

Gruss
Ede
Ohman... Danke! Ich mags kompliziert...owT
21.04.2017 10:35:53
Max2

If ist überflüssig
21.04.2017 12:17:22
Rudi
Hallo,
Private Sub TextBox1_Change()
TextBox1.Text = Left(TextBox1.Text, 20)
End Sub
reicht auch.
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige