No dejar escribir letras en un TextBox

dav_gij
08 de Mayo del 2004
Pues eso,¿cómo hago para que no se puedan meter letras y sólo me deje meter números?Si es posible que si intento escribir una letra que no haga nada.

peris
08 de Mayo del 2004
Es con el evento keypress del setfocus,

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Dim Posicion As Integer
If ((KeyCode >= 48 And KeyCode <= 57) Or (KeyCode >= 96 And KeyCode <= 105) Or KeyCode = 8 Or KeyCode = 46) And Shift = False Then
Texto = Text1.Text
Text1.Text = Texto
Else
If KeyCode <> 37 And KeyCode <> 39 And Text1.SelStart <> 0 Then
Posicion = Text1.SelStart
Text1.Text = Texto
Text1.SelStart = Posicion - 1
End If
End If
End Sub

saludos

peris
08 de Mayo del 2004
o mejor:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii <> 9 And KeyAscii <> 13 And KeyAscii <> 46 Then
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End If
End Sub

saludos


dav_gij
08 de Mayo del 2004
Gracias, ya va todo perfecto. Yo lo puse así:
Select Case KeyAscii
Case 48 To 57
Case 8
Case Else
KeyAscii = 0
End Select