Hace un tiempo atrás cuando la serie de introducción a Macros en Excel se estaba publicando una pregunta bastante interesada fue publicada y que, hoy quiero repasar dado que nos brinda gran flexibilidad si utilizamos muchas macros con atajos de teclado, la pregunta en aquel momento la plateaba un lector de la siguiente manera
Pregunta:
He notado que podemos añadir cualquier combinación de teclas Ctrl + [letra] ó Ctrl + Mayús + [letra], mi pregunta es: ¿Existe 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?
○ El proceso de razonamiento
- Lo primero que recorde cuando planeé la segunda sesión de macros (enfocada a la grabadora de macros), fue que no quería introductir nada de código visual basic sino hasta la sesión 6 cuando emepzaramos adentraranos en este mundo de VBA; haciendo cuentas estas línea de código en particular las tocaremos en la sesión 12.
- Decidi postear la solución ya que son línea de código bastante sencillaso que podemos ir introduciendo de uan vez para ir complementando nuestra serie dedidicada a macros e ir subiendo ejercicos más interestantes en la sección de ejercicos VBA Developer
○ 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
6. En el área de código pegue el siguiente código: ver imagen 2
Application.OnKey «+{m}», «Macro1»
End Sub
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
Hasta la próxima