MSGBOX al presionar una tecla que no sea un numero
Publicado por Emmerson (2 intervenciones) el 11/06/2008 08:05:56
Hola tengo el siguiente codigo
Private Sub Text1_Change()
Me.Text1 = UCase(Me.Text1)
Text1.SelStart = Len(Me.Text1.Text)
If (Len(Me.Text1) >= 21) Then
Me.Text1.Text = Mid(Me.Text1, 1, 21)
Me.Text1.Text = Mid(Me.Text1, 1, 20)
MsgBox "hola"
End If
End Sub
Este codigo hace que en mi txt1 solo pueda escribir 20 caracteres y al presionar el caracter numero 21 me aparezca un msgbox y luego se borre el ultimo caracter tecleado. Luego viene este otro codigo
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim rpta As String
Select Case KeyAscii
Case 8, 45, 48 To 57
Case Else: KeyAscii = 0
End Select
If Text1.SelStart <> 0 And KeyAscii = 45 Then KeyAscii = 0
End Sub
Esto hace que dentro del txt1 solo pueda escribir numeros. Ahora lo que yo quier hacer es que al presionar cualquier tecla que no sea un numero inmediantamente me aparezca un MSGBOX y que no me permita salir del txt1 sin haber rellano ese txt1.Gracias
Private Sub Text1_Change()
Me.Text1 = UCase(Me.Text1)
Text1.SelStart = Len(Me.Text1.Text)
If (Len(Me.Text1) >= 21) Then
Me.Text1.Text = Mid(Me.Text1, 1, 21)
Me.Text1.Text = Mid(Me.Text1, 1, 20)
MsgBox "hola"
End If
End Sub
Este codigo hace que en mi txt1 solo pueda escribir 20 caracteres y al presionar el caracter numero 21 me aparezca un msgbox y luego se borre el ultimo caracter tecleado. Luego viene este otro codigo
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim rpta As String
Select Case KeyAscii
Case 8, 45, 48 To 57
Case Else: KeyAscii = 0
End Select
If Text1.SelStart <> 0 And KeyAscii = 45 Then KeyAscii = 0
End Sub
Esto hace que dentro del txt1 solo pueda escribir numeros. Ahora lo que yo quier hacer es que al presionar cualquier tecla que no sea un numero inmediantamente me aparezca un MSGBOX y que no me permita salir del txt1 sin haber rellano ese txt1.Gracias
Valora esta pregunta


0