¿porque no funciona?

06/10/2006 - 20:19 por vm_tapia | Informe spam
¡¡¡ Saludos a toda la comunidad !!!

Espero me puedan ayudar con lo siguiente:

En un TextBox al momento de capturar una cantidad y se requiere que sea
negativa, obviamente se tiene que teclear el signo de "-" (menos) al
principio, pero si el usuario lo teclea a la mitad o al final de la cantidad,
necesito que el signo de menos se posicione al principio, con el codigo
siguiente, en teoria debe de hacerlo, pero al ejecutarlo, se queda pasmado al
momento de enviar el caracter de menos y no encuentro la manera de
solucionarlo.

¿alguna sugerencia?

=Private Sub PU1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9,.,-]" Then KeyAscii = 0
If Chr(KeyAscii) Like "[-]" Then
Application.SendKeys ("{bs}{home}")
Application.SendKeys ("-") <-- aqui esta el problema
Application.SendKeys ("{end}")
End If
End Sub
=
Gracias.
Victor Manuel.
 

Leer las respuestas

#1 Insumos
06/10/2006 - 20:37 | Informe spam
Hola Victor Manuel:

Se me ocurre que podrías agregar un ToggleButton que indique que el número
es positivo si esta desactivado o que indique que es negativo si esta
activado. De esta manera los usuarios en el TextBox se limitarian a ingresar
solo números y en caso de querer ingresar un número negativo simplemente
deben activar el ToggleButton, con lo cual cuando este último esta activado
fácilmente el código puede reconocer que hay un número negativo y podes
hacer que se agregue al valor del TextBox un "-" adelante con un simple
código antes de hacer con los datos del TextBox lo que tenga que hacer.
Espero te sirva la idea.
Saludos


"vm_tapia" escribió en el mensaje
news:
¡¡¡ Saludos a toda la comunidad !!!

Espero me puedan ayudar con lo siguiente:

En un TextBox al momento de capturar una cantidad y se requiere que sea
negativa, obviamente se tiene que teclear el signo de "-" (menos) al
principio, pero si el usuario lo teclea a la mitad o al final de la


cantidad,
necesito que el signo de menos se posicione al principio, con el codigo
siguiente, en teoria debe de hacerlo, pero al ejecutarlo, se queda pasmado


al
momento de enviar el caracter de menos y no encuentro la manera de
solucionarlo.

¿alguna sugerencia?

=> Private Sub PU1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9,.,-]" Then KeyAscii = 0
If Chr(KeyAscii) Like "[-]" Then
Application.SendKeys ("{bs}{home}")
Application.SendKeys ("-") <-- aqui esta el problema
Application.SendKeys ("{end}")
End If
End Sub
=>
Gracias.
Victor Manuel.

Preguntas similares