Comprobar si texto ó numero en TextBox

25/07/2006 - 12:20 por MarianoB | Informe spam
Hola a todos,
Tengo el siguiente código en un CommandButton para comprobar un
TextBox que pretende :-), si el valor introducido en el TextBox es
menor que 0(cero) ó mayor que 65536 deje el TextBox vacío y no haga
nada. si no es así, que compruebe si está el TextBox vacío y en ese
caso inserte una fila en la fila 2, y si no es así que compruebe si el
TextBox tiene un valor y en caso tenerlo inserte una fila en la fila
correspondiente al valor del TextBox. Pero me ocurre una cosa, si pongo
letras en vez de números aparece el error "Se ha producido el error
'1004' en tiempo de ejecucción: Error definido por la aplicación o el
objeto".
¿como puedo controlar que no se metan letras en el TextBox (si es que
puede hacerse) o que si se ponen, pueda detectarlo y en función de
ello realizar una acción?

Private Sub CommandButton2_Click()
If Val(TextBox2) < 0 Or Val(TextBox2) >= 65536 Then
TextBox2 = Empty
Else
If TextBox2 = Empty Then
Range("a2").Select
Selection.EntireRow.Insert
TextBox2 = Empty
Else
If TextBox2 > 0 Then
Rows(FILAINSERTA).Select
Selection.EntireRow.Insert
FILAINSERTA = Empty
TextBox2 = Empty
End If
End If
End If

No sé si lo que llevo es "buen código", pero para un neonato en estas
lides...
Muchas gracias.
 

Leer las respuestas

#1 MarianoB
25/07/2006 - 13:25 | Informe spam
Para quien pueda necesitarlo, la solucción la he encontrado en un
mensaje antiguo de este foro que pego a continuación.
La próxima vez, en vez de pedir, miraré antes ahí.


|De: Marcos Fernández Altamirano
|Fecha: Dom 23 jun 2002 09:36
|
| Si introduces este código en el evento Keypress del TextBox:
|
| Dim c As String
| c=Chr(KeyAscii)
| If c<"0" Or c>"9" then
| KeyAscii=0
| End if
|
| SOLO PODRAS INTRODUCIR NUMEROS




Gracias de todas maneras.






MarianoB wrote:
Hola a todos,
Tengo el siguiente código en un CommandButton para comprobar un
TextBox que pretende :-), si el valor introducido en el TextBox es
menor que 0(cero) ó mayor que 65536 deje el TextBox vacío y no haga
nada. si no es así, que compruebe si está el TextBox vacío y en ese
caso inserte una fila en la fila 2, y si no es así que compruebe si el
TextBox tiene un valor y en caso tenerlo inserte una fila en la fila
correspondiente al valor del TextBox. Pero me ocurre una cosa, si pongo
letras en vez de números aparece el error "Se ha producido el error
'1004' en tiempo de ejecucción: Error definido por la aplicación o el
objeto".
¿como puedo controlar que no se metan letras en el TextBox (si es que
puede hacerse) o que si se ponen, pueda detectarlo y en función de
ello realizar una acción?

Private Sub CommandButton2_Click()
If Val(TextBox2) < 0 Or Val(TextBox2) >= 65536 Then
TextBox2 = Empty
Else
If TextBox2 = Empty Then
Range("a2").Select
Selection.EntireRow.Insert
TextBox2 = Empty
Else
If TextBox2 > 0 Then
Rows(FILAINSERTA).Select
Selection.EntireRow.Insert
FILAINSERTA = Empty
TextBox2 = Empty
End If
End If
End If

No sé si lo que llevo es "buen código", pero para un neonato en estas
lides...
Muchas gracias.

Preguntas similares