En Excel, hacer funcionar el método ONKEY con teclado numérico o bloque numérico en hoja activa

Saludos amigos

Estoy desarrollando una aplicación con macros de Excel y necesito utilizar el método ONKEY para validar varias cosas en la hoja activa. Ya comencé a utilizarlo, pero cuando programo los números con este método, solo me lo aplica cuando presionan un número del teclado de la parte izquierda, pero no lo hace igual cuando utilizan el teclado de la parte derecha o bloque numérico, es decir, no me toma el método. Lo he aplicado de las siguientes maneras:

Application.OnKey "1", "MENSAJE"

Application.OnKey 1, "MENSAJE"

pero en ninguno de los dos casos me funciona con las teclas del bloque numérico. Por favor, ayúdenme a solucionar esto o si hay alguna API que pueda solucionar esto y que se pueda programar para todas las teclas sobre la hoja activa, se los agradecería inmensamente. Debe funcionar como una especie de keypress o keydown pero en Excel y en la hoja activa.

Gracias.

1 respuesta

Respuesta
1

Los números del teclado numérico son del 96 al 105
Entonces para el 1 del teclado numérico es así
Application.OnKey "{97}", "MENSAJE"

Saludos. DAM
Si es lo que necesitas.

¡¡¡¡Gracias DAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

Por fin alguien me respondió lo que no encontraba en ningún lado del internet. Gracias mi hermano. Un último favor: vós tenés una tabla completa de códigos para todo el teclado con el método onkey que me podás facilitar? Me sería de gran utilidad. La de microsoft no viene muy completa y me faltan algunos caracteres. Incluso, si algunos caracteres se resumen en códigos numéricos como los que me acabaste de aclarar, pues mejor porque puedo hacer un ciclo para restringir varias teclas a la vez.

Gracias nuevamente DAM, sos grande!

Puedes consultar aquí, la diferencia son las teclas del teclado numérico, que son las que te comenté.

http://www.asciitable.com/

Saludos. DAM

No olvides finalizar la pregunta.

Fabuloso. Pero no he podido hacer que me detecte las teclas "+", "-", "*" y "." del teclado numérico. Me puedes ayudar, por favor? QUe pena la molestia.

No es ninguna molestia, son estas

Application.OnKey "{106}", "MENSAJE" 'para el *
Application.OnKey "{107}", "MENSAJE" 'para el +
Application.OnKey "{109}", "MENSAJE" 'para el -
Application.OnKey "{110}", "MENSAJE" 'para el .

Saludos. DAM
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas