Excel - Validar textbox numerico

 
Vista:

Validar textbox numerico

Publicado por Hisoka (30 intervenciones) el 19/01/2007 13:35:17
Hola a todos....alguien me podria decir como puedo hacer una condicion en la que si al textbox se le ingresa un valor no numerico (a,b,c,d,e,!"·$%&...etc) me arroje un mensaje.

Lo que me complica es el como pregunto si es un valor numerico o no...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Validar textbox numerico

Publicado por Ismael (6 intervenciones) el 19/01/2007 14:03:01
en el evento KeyPress del textbox:

If KeyAscii < 48 Or KeyAscii > 57 Then
MsgBox "El valor no es numerico", vbOKOnly, "Aviso"
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Hisoka (30 intervenciones) el 19/01/2007 14:33:24
Gracias....aunque tengo un problema en la declaracion parece...lo que pasa es que al ingresar un valor no numerico se cae el form, envio el codigo:

Private Sub TextBox1_Change()

If TextBox1.Text <> Empty And KeyAscii < 48 Or KeyAscii > 57 Then
MsgBox "Debe ingresar un valor numerico", vbOKOnly, "Aviso"
End If
If (TextBox1.Text <> Empty) Then
TextBox4 = RutDigito(TextBox1.Text)

End If

End Sub

---------------------------------------------------------------

Public Function RutDigito(ByVal Rut As Long) As String
Dim Digito As Integer
Dim Contador As Integer
Dim Multiplo As Integer
Dim Acumulador As Integer

Contador = 2
Acumulador = 0
While Rut <> 0
Multiplo = (Rut Mod 10) * Contador
Acumulador = Acumulador + Multiplo
Rut = Rut \ 10
Contador = Contador + 1
If Contador = 8 Then
Contador = 2
End If
Wend
Digito = 11 - (Acumulador Mod 11)
RutDigito = CStr(Digito)
If Digito = 10 Then RutDigito = "K"
If Digito = 11 Then RutDigito = "0"
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Ismael (6 intervenciones) el 19/01/2007 14:48:46
Hola,

Lo primero cambia el evento:
Private Sub TextBox1_Change()
Por
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
si no, la variable KeyAscii será siempre ""

Por otra parte, no estoy seguro de lo que quieres hacer. Si lo entiendo bien, quieres que cuando se introducca el 2º dígito vaya a la función RutDigito.
¿es así?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Hisoka (30 intervenciones) el 19/01/2007 14:53:02
en realidad hay dos textbox, en uno ingresas un valor numerico (rut) y en el segundo lo validas, y los dos van a una misma celda pero separados por un guion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Ismael (6 intervenciones) el 19/01/2007 15:18:43
Ok, Creo que lo he entendido.
El error que te da es porque a pesar de avisar de que se debe introducir un campo númerico, se procesa la función.

así que copia lo siguiente:

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode < 48 Or KeyCode > 57 Then
MsgBox "Debe ingresar un valor numerico", vbOKOnly, "Aviso"
TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 1)
End If
If TextBox1.Text <> Empty Then
TextBox4 = RutDigito(TextBox1.Text)
End If
End Sub

A parte de cambiar el envento a KeyUp, lo que hace es borrar el caracter tecleado.

Espero que esto, si te sirva.
Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Hisoka (30 intervenciones) el 19/01/2007 15:30:54
Muchas gracias, pero aun no se xq me sigue irando el error..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar textbox numerico

Publicado por Ismael (6 intervenciones) el 19/01/2007 15:38:29
Envíame el código por correo (para no cargar el foro) ... yo lo he probado y no da ningún error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar