Como asignar teclas de funcion

Del foro. Tengo un formulario con muchos textbox y 4 botones, donde ingreso datos y cada botón cumple la función de capturar datos e ingresarlos a una hoja de excel.

Ejemplo.

Botón1 ingresa datos en hoja 1

Botón 2 ingresa datos en hoja 2

Y botón 3 y 4 ingresan datos a otro libro

Así funciona genial. El tema es q como son muchos textbox hasta llegar a los botones tengo q ir navegando x los textbox con Enter o Tab. Mi idea era asignar una tecla de función.

Ejemplo

Cuando presione f1 simule un click en el botón 1

Cuando presione f2 simule un click en el botón 2

Y así sucesivamente.

1 respuesta

Respuesta
1

.

Hola, Miguel

Lo primero que se me vino al balero fue usar la instrucción

Application.OnKey "{F2}", "CommandButton_Click"

Al cargar el formulario. Colocada al abrir un libro permite asignar otra función distinta a la teclas.

Pero la mala noticia es que no funciona en Formularios.

Tal como explica Héctor Miguel, y cito:

1) el metodo 'OnKey' -> 'pertenece' al objeto 'Application' [o sea... es un método/evento de excel]
2) un formulario [en vba] ES una aplicación 'distinta' del MS Excel [como objetos 'application' separados]
3) el evento '_initialize' [en formularios] 'sucede' -> instantes antes... de mostrar un formulario
4) Mientras un formulario esta 'en pantalla'... es 'ese' objeto el que tiene 'el control' de las acciones
5) si necesitas 'administrar' hacia cual control quieres 'dirigir' al usuario [mientras interactua con el formulario]...
-> ¿Usa los eventos 'apropiados' del modulo de código del formulario según de cual control y hacia cual otro -?-
    [p.e. existe la propiedad .SetFocus    o los eventos '_keypress'    '_mousedown'    etc. etc. etc.]
6) Toma nota que cuando termines con el formulario... la re-asignacion del '.OnKey "{tab}",......'    -> seguira 'en efectos'
¿A menos que antes de salir del formulario lo hubieras 'devuelto' a la normalidad -?-

Puede que saqués una idea de ello o, al menos, te evité horas de búsquedas en Internet.

Un abrazo

Fernando

(Buenos Aires, Argentina)

.

¡Gracias! X la sugerencia. Pensé que se podía hacer. Ya que son como 30 textbox y no necesito completar todos los datos para todas las hojas, voy a seguir investigando.

Te agradezco mucho y si por casualidad se te ocurre algo más chiflame. Baja.

Gracias y bendiciones!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas