Textfeld Prüfen ob Zahl eingegeben wurde

BeAFrog

Grünschnabel
Hallo,

ich möchte gerne, dass der User nur Zahlen in ein Textfeld eingeben kann. Habe da auch eine Lösung, allerdings wollte ich noch wissen, ob ich tatsächlich dazu verdonnert werde für alle 48 Textfelder den Code anzupassen.

Code:
Private Sub txtm1_KeyPress(KeyAscii As Integer)
    KeyAscii = NurZahlen(KeyAscii)
If KeyAscii = 13 Then SendKeys "{tab}"
End Sub

Kann ich das nicht irgendwie verbinden oder vereinfachen?

Vielen Dank und Grüße von einem Anfänger ;o)
BeAFrog
 
if Text1.text = KeyAscii Then
Got a Number

Else If

Got a Char.

End if

oder

If not Text1.text = KeyAscii Then
Code Hier
End If
 
Du könntest über isnumeric prüfen

Visual Basic:
 if isnumeric(chr$(KeyAscii)) then
          call msgbox("JUHU eine Zahl") 
end if

Grüsse bb

PS: es gibt auch Steuerelemente die die Masked eigenschaft besitzen hier kannst du es über die Eigenschaft selbst festlegen, dass nur Zahlen eingebbar sind
 
Hallo und danke Euch beiden,


wenn ich das richtig sehe sind das beides Vereinfachungen, die ich dann aber für jedes Textfeld angeben muss.

Wennn es da keine Alternative gibt, werd ich mich mal auf die Suche nach den erwähnten Steuerelementen machen.

Gruß
BeAFrog
 
Du kannst deine Textfelder in einem Array anlegen dann brauchst du den Code nicht zu duplizieren
 
Hallo,

also bei den Steuerelementen hab ich bisher nichts raus gefunden. Bei Arrays frage ich mich wie einfach ich da meinen erarbeiteten "Speichern - Laden - Kram" (in einer INI) nutzen kann oder auch nicht, denn von vorne Anfangen kann ich zeitlich beim besten willen nicht mehr..

Hast Du da noch Tipps?

Gruß

BeAFrog

Edit: Arrays sind auch vom Tisch, werde es wohl für alles einzelln einfügen es seiden ich finde da noch was.
 
Zuletzt bearbeitet:
Zurück