Problemas con un TextBox

23/11/2005 - 17:32 por Edison Torres | Informe spam
Tengo un textBox en la cual solo deseo que me ingresen palabras (incluida la
ñ mayuscula y minuscula) y no numero ni espacio en blanco, estoy utilizando
el sgte. codigo pero no me funciona ya que no me permite ingresar palabras,
el codigo que toy usando es:

Private Sub TextBox9_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If ((KeyAscii < 65 Or KeyAscii > 123) Or (KeyAscii < 113 Or KeyAscii > 106))
Then KeyAscii = 0: MsgBox "El campo sólo debe ser Alfabético"
End Sub

Ademas como hago para que el texto se cambie a mayuscula automaticamente
cuando se escribe en minuscula.

Preguntas similare

Leer las respuestas

#6 Edison Torres
24/11/2005 - 01:53 | Informe spam
hector

estoy usando el ejemplo 2 que me indicastes ya que no se donde poner el
ejemplo 1
Private Sub TextBox1_Change()
Worksheets("reportes").Range("G6") = TextBox1
End Sub
=> nota que de esta forma, lo que se deposita en la celda ES UN TEXTO [que es el tipo de datos por omision de un textbox] :-(
si requires que el dato sea numerico... usa [p.e.] -> = CLng(TextBox1)
[o buscar otras funciones de conversion de tipo de datos CDbl(...) CSng



pero que me da error cuando en vez de digitar en el textbox1 un numero
digito una letra cualquiera y el error 13 en tiempo de ejecucion es que no
coinciden los tipos
POR FAVOR QUE HAGO

"Héctor Miguel" escribió:

hola, Edison !

> ... Si deseo que el campo sea ALFANUMERICO como lo hago.

-> solo modifica la cadena de 'caracteres validos' [la funcion Like] p.e.
si solo deseas 0 a 9, de A a Z, Ñ o espacio... -> Like "[0-9a-zñ ]"
si necesitas incluir el signo menos, agregalo AL INICIO -> Like "[-0-9a-zñ ]"
si necesitas incluir el punto [o cualquier otro caracter], agregalo AL FINAL -> Like "[0-9a-zñ .]"

> ... un textbox en donde unicamente el campo es numerico con el sgte. codigo
> Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
> If TextBox1 = "" Then MsgBox ("vuelva a repetir")
> If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
> Worksheets("reportes").Range("G6").Value = TextBox1.Value
> End Sub
> Aparentemente funciona pero... en la celda G6... cuando en el formulario ingresas 1894 en la hoja se guarda 189
> es como si cuando ingreso el primer digito me lo toma como espacio [...]

-> en este caso, el 'detalle' es que con el evento '_keypress' estas evaluando UNICAMENTE la tecla pulsada 'en el momento'
por lo que 'tendrias que'... 'acumular'... las pulsaciones 'validas' a lo que YA contenga el rango 'G6' [p.e.]
[Reportes!G6] = [Reportes!G6] & Chr(KeyAscii)
-> aunque no estoy seguro que 'este tipo de acumulacion' sea lo que estas 'buscando' :-(
-> la otra alternativa es 'mover' el pase al rango al evento '_change' del textbox [p.e.]
Private Sub TextBox1_Change()
Worksheets("reportes").Range("G6") = TextBox1
End Sub
=> nota que de esta forma, lo que se deposita en la celda ES UN TEXTO [que es el tipo de datos por omision de un textbox] :-(
si requires que el dato sea numerico... usa [p.e.] -> = CLng(TextBox1)
[o buscar otras funciones de conversion de tipo de datos CDbl(...) CSng(...) etc.

saludos,
hector.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida