Ejecutar macro continuamente cuando se presiona el botón QAT

Ejecutar macro continuamente cuando se presiona el botón QAT

Agregué dos macros a la "Barra de herramientas de acceso rápido" (QAT). Las macros sirven para navegar hacia la izquierda y hacia la derecha en la hoja, como cuando presiona las flechas en la esquina inferior derecha del libro. Cuando los presionas, cambian las celdas hacia la izquierda y hacia la derecha una celda a la vez; debes seguir haciendo clic en ellos para continuar moviéndote hacia la izquierda (o hacia la derecha). Me gustaría que se ejecuten continuamente, como cuando presionas las flechas en la parte inferior derecha; Excel sigue cambiando de columna cuando se presiona la flecha y se detiene cuando la suelta. La macro debe seguir ejecutándose (cambiando de celda) cuando se presiona el clic del mouse y se detiene cuando lo suelto. ¿Es esto posible? ¿Se puede agregar esta funcionalidad a los botones del QAT?

Respuesta1

Esto se puede hacer usando el omnipresenteAutoHotkey.

Primer paso: busque el método abreviado de teclado de las macros en el QAT.

Presione ALTpara mostrar los números de acceso directo de los elementos QAT, lo que le brinda el acceso directo Alt+ numberal elemento. Digamos que el número de su artículo QAT era 8.

Segundo paso: Cree un script AutoHotkey para ejecutar continuamente el elemento QAT.

El siguiente código se activará presionando prolongadamente la F12tecla. Enviará a Excel Alt+ 8cada medio segundo hasta que F12se suelte la tecla

Copie lo siguiente en un .ahkarchivo, posiblemente cambiando "F12" y "8". Haga doble clic en el archivo para iniciar su ejecución. Creará un ícono verde "H" en la barra de bandeja en el que puede hacer clic derecho y seleccionar Exitpara detener. Si siempre desea que este script se ejecute, cópielo a la carpeta de Inicio del usuario en C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

SetTitleMatchMode, 2
#IfWinActive Excel

F12::
Loop:
KeyWait, F12, T0.5
err := Errorlevel
if (err) {
  Send, {LAlt}8
  Goto, Loop
}
return

información relacionada