wie kann ich erreichen, dass in einem Textfeld einer Userform nur numerische Eingaben möglich sind?
Vielen Dank im voraus
herbert r.
Vielen Dank im voraus
herbert r.
eine oft gestellte Frage, gib in der Recherche - Suche in den Themenlisten - als Suchwort mal Textfeld ein. Das sollte Deine Frage beantworten.
Gruß
Peter
das Du nichts im Archiv, Recherche gefunden hast kann ich nicht glauben. Die Frage habe ich schon paar mal beantwortet. Ich gehe mal davon aus das Du eine UserForm hast.
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Ansat VB 6 Buch von Peter Monadjemi
' nur Zahlen
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc("."), Asc(",")
If InStr(TextBox1, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
Case Asc("-")
If Len(TextBox1) = 0 Then
If InStr(TextBox1, "-") <> 0 Then
Else
KeyAscii = Asc("-")
End If
Else
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' von Peter Haserodt
' nur Bchstaben
Select Case KeyAscii
Case 97 To 122, 65 To 90, 228, 246, 252, 196, 214, 220, 223
Case Else
KeyAscii = 0
MsgBox "Nur Buchstaben", vbExclamation
End Select
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
das Du nichts im Archiv, Recherche gefunden hast kann ich nicht glauben. Die Frage habe ich schon paar mal beantwortet. Ich gehe mal davon aus das Du eine UserForm hast.
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' Ansat VB 6 Buch von Peter Monadjemi
' nur Zahlen
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc("."), Asc(",")
If InStr(TextBox1, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
Case Asc("-")
If Len(TextBox1) = 0 Then
If InStr(TextBox1, "-") <> 0 Then
Else
KeyAscii = Asc("-")
End If
Else
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
' von Peter Haserodt
' nur Bchstaben
Select Case KeyAscii
Case 97 To 122, 65 To 90, 228, 246, 252, 196, 214, 220, 223
Case Else
KeyAscii = 0
MsgBox "Nur Buchstaben", vbExclamation
End Select
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
Ich habe schon mal mit "isnumeric(wert)" probiert, kriege es aber nicht so hin, dass beim Eintippen eines Zeichens das nicht im Bereich 0-9 liegt, gar keine Eingabe akzeptiert wird. Wenn also der User z.B. ein "A" eintippt, soll nichts passieren, das "A" auch nicht in der Textbox stehen...
Gruß herbert r.
Private Sub txtIDnr_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub
Gruß, herbert r.