Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
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
Userform Länge Textbox genau festlegen
steffen
Hallo Leuts,
ich suche eine Möglichkeit, um festzulegen ,dass in einer Textbox innerhalb einer Userform genau 3 Zeichen (Zahlenwerte 0-9) eingetragen werden müssen.
Bsp:
---------------------
1 nicht erlaubt
01 nicht erlaubt
001 erlaubt
---------------------
89 nicht erlaubt
089 erlaubt
---------------------
f01 nicht erlaubt
Also zusammenfassend:
Es dürfen nur Werte von 001 bis 999 eingetragen werden. Alles andere ist nicht erlaubt.
Ihr wisst sicherlich Rat.
Gruß Steffen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform Länge Textbox genau festlegen
30.04.2010 19:25:43
Hajo_Zi
Hallo Steffen,
Eigenschaft maxLenght einstellen.
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Eingaben nur Zahlen
' maxLenght =3 in Eigenschaften einstellen
If Len(TextBox1) >= 1 Then
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
Else
Select Case KeyAscii
Case 49 To 57
Case Else: KeyAscii = 0
End Select
End If
End Sub


AW: Userform Länge Textbox genau festlegen
30.04.2010 19:35:37
steffen
Hallo hajo,
danke für die schnelle Hilfe.
auf max. 3 zeichne zu begrenzen hatte ich mit maxLenght 3 noch hinbekommen....
aber was passiert eigentlich genau bei Deiner Lösung? da fehlt mir echt das notwendige hintergrundwissen Ascii
Gruß
Steffen
Anzeige
AW: Userform Länge Textbox genau festlegen
30.04.2010 19:38:18
Hajo_Zi
Hallo Steffen,
das was im Code steht es dürfen nur Zahlen eingeben werden und bei der ersten Zahl keine 0
Gruß Hajo
AW: Userform Länge Textbox genau festlegen
30.04.2010 21:08:34
Erich
Hi,
"001" und "023" sollten aber doch auch erlaubt sein, nur "000" nicht.
Das geht mit Hajos Code auch, aber nur, indem man als 1. Ziffer eine Ziffer > 0 eingibt,
dann den Cursor davor stellt und eine 0 eingibt. Erscheint mir umständlich.
Mein Vorschlag:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If TextBox1 = "00" Then
Select Case KeyAscii
Case 49 To 57
Case Else: KeyAscii = 0
End Select
Else
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
oder kürzer so
30.04.2010 21:14:26
Erich
Hi,
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 - (TextBox1 = "00") To 57
Case Else: KeyAscii = 0
End Select
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Userform Länge Textbox genau festlegen
30.04.2010 19:30:31
Gerd
Hallo Steffen,
ins Userformmodul:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not IsNumeric(ChrW(KeyAscii)) Then KeyAscii = 0
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "000")
End Sub
Die MaxLenght kannst Du im Eigenschaften-Fenster einstellen.
Gruß Gerd
Anzeige

93 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige