Userform Eingabeformat festlegen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Userform Eingabeformat festlegen
von: Michael
Geschrieben am: 24.11.2015 10:01:41

Hallo zusammen,
in meiner Userform würde ich gerne bestimmen in welchen Textboxen welche Eingaben möglich sind.
In Textboxen wo nur Zahlen eingetragen werden sollen würde ich gerne dies eingrenzen, so dass niemand Text eingeben kann. Wie mach ich das (Nur ganze Zahlen, ohne Komma)?
Dann hab ich noch TextBoxen wo nur Buchstaben erlaubt sind. Und auch nur drei, zB ABC. Wie mach ich das?
Für jede Hilfe bin ich dankbar.
Gruß
Michael

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Rudi Maintaire
Geschrieben am: 24.11.2015 10:08:27
Hallo,
z.B. nur Ziffern:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case Chr(KeyAscii)
    Case 0 To 9
    Case Else
    KeyAscii = 0
  End Select
End Sub

nur A,B,C:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case Chr(KeyAscii)
    Case "A", "B", "C"
    Case Else
    KeyAscii = 0
  End Select
End Sub
Gruß
Rudi

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Michael
Geschrieben am: 24.11.2015 10:33:41
Hallo Rudi,
klappt schonmal ganz gut. Wie begrenze ich bei den Buchstaben die Anzahl nur auf 3, zB ABC und nicht ABCDEF in einer TextBox?
Gruß
Michael

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Rudi Maintaire
Geschrieben am: 24.11.2015 10:51:34
Hallo,
TextBoxen haben eine MaxLength-Eigenschaft.
Gruß
Rudi

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Michael
Geschrieben am: 24.11.2015 11:06:19
Vielen Dank!

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Michael
Geschrieben am: 24.11.2015 11:10:48
Eine Frage hätte ich da noch.
Besteht die Möglichkeit eine MsgBox einzubauen die informiert das man das falsche Format verwendet?
Gruß
Michael

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Michael
Geschrieben am: 24.11.2015 11:17:05
Hab es selber beantworten können:

Private Sub Reg3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case Chr(KeyAscii)
    Case "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", _
    "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
    Case Else
    KeyAscii = 0
    GoTo DisplayFormatError
  End Select
  Exit Sub
DisplayFormatError:
    MsgBox "Please enter a code in the format 'ABC'", vbInformation, "Alert!"
End Sub
Danke nochmal und Gruß
Michael

Bild

Betrifft: das geht einfacher
von: Rudi Maintaire
Geschrieben am: 24.11.2015 11:30:09


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case KeyAscii
    Case Asc("A") To Asc("Z")
    Case Else
    KeyAscii = 0
    MsgBox "nur Großbuchstaben!"
  End Select
End Sub
Gruß
Rudi

Bild

Betrifft: AW: sei Kundenfreundlich
von: Daniel
Geschrieben am: 24.11.2015 12:17:51
Hi
anstatt den Anwender mit nervigen Messageboxen zu ärgern, kannst du doch auch die Kleinbuchstaben in Grossbuchstaben wandeln.
wenn auch noch an anderer Stelle beschrieben steht dass nur Grossbuchstaben erlaubt sind, würde ich statt der Messagebox einen Beep als Signal für eine Falscheingabe senden.

Private Sub Reg3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Select Case KeyAscii
     Case Asc("A") to Asc("Z")
     Case Asc("a") to Asc("z")
         KeyAscii = Asc(UCase(Chr(KeyAscii)))
     Case Else
         KeyAscii = 0
         Beep
   End Select
 End Sub

Gruß Daniel

Bild

Betrifft: AW: Userform Eingabeformat festlegen
von: Rudi Maintaire
Geschrieben am: 24.11.2015 11:27:07
aber sicher.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case Chr(KeyAscii)
    Case 0 To 9
    Case Else
    KeyAscii = 0
    MsgBox "nur Ziffern!"
  End Select
End Sub
Gruß
Rudi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Userform Eingabeformat festlegen"