ComboBox - nur Zahlen zulassen

Geschrieben von admin am 7. Januar 2010 | Abgelegt unter Veröffentlichungen

Tipp vom 08.12.2005

Haben Sie sich nicht auch schon mal über die Benutzer geärgert, die einfach etwas in eine ComboBox eintragen, was da nicht rein gehört?!?
Das beste Beispiel ist, wenn man mit einer ComboBox variable Prozentwerte, also Zahlen, an eine Datenbank übergeben möchte. Klaro, stehen dort Standardwerte drin, aber der Benutzer möchte immer andere Werte, als die Standardwerte nehmen, also tippt er von Hand einfach mal eine andere Zahl ein und Schwupps, ist das zufällig ein Buchstabe, oder ein Sonderzeichen mit drin.

Wie Sie das Ganze leicht abfangen können, zeige ich Ihnen hier:

Private Sub Combo1_KeyPress(KeyAscii As Integer)
  Select Case KeyAscii
  Case vbKey0 To vbKey9, vbKeyBack
  ‘ Alle Zahlen, sowie die Löschen-Taste werden durchgelassen
  Case 44 ‘ 44 = Komma: jedoch nur 1x zulassen
  If InStr(Combo1.Text, Chr$(KeyAscii)) > 0 Then KeyAscii = 0
  Case Else
  ‘ der Rest wird geblockt
  KeyAscii = 0
  End Select
End Sub  

Beispielcode:

Private Sub Form_Load()
  Dim n As Long‘ die ComboBox wird mit Werten gefüllt
  For n = 5 To 100 Step 10
  Combo1.AddItem n
  Next

‘ der erste Wert wird selektiert
  Combo1.ListIndex = 0
End Sub

Einfach eine neue Form erstellen (Form1), mit einer ComboBox (Combo1) und obigen Code einfügen.
Und siehe da, der Benutzer kann nur noch Zahlen und Komma eingeben.
Sie können hier bei vbarchiv.net für mich voten!

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben

Du musst angemeldet sein, um einen Kommentar zu schreiben.