Asignar atajos de teclados alternos a Macros en Excel Una pregunta derivada de la segunda sesión de la serie dedicada macros que llego por medio del formulario de contacto del blog hace poco, preguntaba acerca de los atajos de teclado asignados nuestras macros: ○ Pregunta He notado que podemos añadir cualquier combinación de teclas Ctrl + [letra] ó Ctrl + Mayús + [letra], mi pregunta es: ¿Exisite alguna forma de añadir alguna otra tecla como atajo de teclado o una combinación con la tecla Alt y/o shift, por ejemplo la combinación de teclas shift+m? Por Anónimo (Formulario de contacto del blog) ○ El proceso de razonamiento
○ Solución 1. Grabar una macro (tutorial de la grabadora de macros), supogamos que se grabo una macro con nombre Macro1 2. Clic derecho encima del nombre de la hoja y pulsar clic en la 4 opción 'ver código', se abre el editor de visual basic 3. Pulsamos la combinación de teclas Ctrl + R, esto abre el explorador de proyectos si estaba cerrado, ver imagen 1 4. Identifique el nombre del archivo de Excel en el cual grabo la macro que esta precedido por VBAproject, imagen 1 5. Búsque el modulo ThisWorkbook y pulse doble clic, ver imagen 1 6. En el área de código pegue el siguiente código: ver imagen 2 Private Sub Workbook_Open() Application.OnKey "+{m}", "Macro1" End Sub 7. Cierre el archivo y guardelo como archivo habilitado para macros y abralo nuevamente, ahora tendra habilitada la combinación de teclas shift+m para ejecutar la macro con nombre Macro1 Lo mas probable es qe el aspecto del editor de visual basic de la imagen no coincida con el aspecto de su editor de visual basic, mas sin embargo lo importante es pegar el código señalado en el lugar adecuado que corrsponde al área de trabajo (área de mayor tamaño) del editor de visual basic (VBE); recuerde que esto debe ser en el modulo ThisWorkbook. *VBE: Visual Basic Editor ○ Explicación 1. El evento Private Sub Workbook_Open() ... End sub, ejecuta las líena de código dentro del una vez se abre el libro 2. La línea de código Application.OnKey, es un método del objeto Excel (Application) que permite asignar atajos de teclados a procedimientos "Macros" 3. Los dos argumentos del método OnKey permiten indicar el atajo de teclado y la macro; el primer argumento "+{m}" corresponde al atajo de tecla y el segundo "Macro1" al nombre de la macro la cual queremos que sea ejecutada con dicho atajo de teclado 4. ¿Cómo funciona la asignación de atajos de teclado en el primer argumento? 4.1 Si desea añadir una única tecla como atajo de teclado como por ejemplo la tecla k, debe poner entre comillas y llaves (curly brakets { }) la tecla deseada, tenemos: Application.OnKey "{k}", "Macro1" 4.2 Si deseamos una combinación con la tecla shift, debemos poner el signo + segudio de la tecla deseada, por ejemplo la combinación de teclas Shif+f es: Application.OnKey "+{f}", "Macro1" 4.3 si lo que deseamos es una combinación de teclas pero con la tecla Contrl (Ctrl), debemos poner símbolo de acento circunflejo (^) seguido de la tecla deseada, por ejemplo la combinación de teclas Ctrl + m: Application.OnKey "^{m}", "Macro1" 4.4 si lo que deseamos es una combinación de teclas pero con la tecla Alt , debemos poner el símbolo de porcentaje (%) seguido de la tecla deseada, por ejemplo la combinación de teclas Alt + r: Application.OnKey "%{r}", "Macro1" 4.5 Puede añadir combinaciones más complejas como: Shift+Ctrl+V de la siguiente forma: Application.OnKey "+^{v}", "Macro1" 4.6 Puede utilizar otras teclas, tales como TAB, ESC etc. la nomenclatura que debe utilizar en el argumento se muestra en la tabla de la imagen 3 4.7 Recuerde que el segundo argumento debe llevar el nombre de la macro a la cual le queremos asignar la macro (el mismo nombre entre comillas que le dio en el cuadro de diálogo grabar macro si la elaboro utilizando la grabadora de macros) ○ Probelma Aunque puede usar casi cualquier combinación de teclas, tenga cuidado de no sobreescribir algun otro atajo de teclado predeterminado por MS Excel Alguna dudad, conoces otros métodos dejanos un comentario |