SendKeys de VBA

SendKeys de Excel VBA

SendKeys en lenguaje VBA es un método que se usa para enviar pulsaciones de teclas a la ventana activa para que podamos trabajar manualmente después de eso. Siempre que usemos alfabetos como teclas, todos los alfabetos deben estar en minúsculas. Es un método complejo y se recomienda usar solo si es necesario y cuando no tienes opciones.

"SendKeys" es uno de los temas complejos de entender. No muchos de nosotros usamos esta función en VBA, pero siempre es bueno tener más conocimientos sobre más temas. En este artículo, le mostraremos cómo utilizar la función SendKeys. Puede resultarle difícil volver a leer el artículo varias veces con un enfoque práctico para aprender rápido y mejor.

Sintaxis

A continuación se muestra la sintaxis del método vba SendKeys.

Claves o cadena: el tipo de clave que necesitamos enviar a la aplicación activa.

Espera: en este argumento, podemos usar dos cosas, es decir, VERDADERO o FALSO

  • VERDADERO si desea que Excel espere a que se procesen las claves asignadas antes de que el control vuelva a la macro.
  • FALSO si ignora el parámetro Esperar , este será el valor predeterminado. Si elige FALSO, Excel continúa ejecutando la macro sin esperar a que las claves se procesen en la ventana activa.

Las teclas comunes que usamos con el teclado son "Ctrl, Shift y ALT" . Entonces, con el método SendKeys, necesitamos usarlos con caracteres especiales, la siguiente tabla muestra los caracteres especiales para las tres claves comunes anteriores.

Otras teclas tienen diferentes claves y caracteres, la siguiente tabla muestra la explicación detallada de cada tecla.

Según el requisito, podemos utilizar cualquiera de las claves anteriores. Con algunos ejemplos prácticos, te mostraremos la forma de utilizar SendKeys.

Ejemplos para usar el método SendKeys de Excel VBA

Puede descargar esta plantilla de Excel SendKeys de VBA aquí - Plantilla de Excel SendKeys de VBA

Ejemplo 1

Por ejemplo, mire el valor de celda a continuación.

Tenemos valores en tres celdas y en la primera celda tenemos un valor de "Bangalore" y para esta celda, hay un comentario como la "Ciudad capital de Karnataka".

Ahora usando “SendKeys” intentamos editar este comentario.

Abra la hoja de Excel y vaya al editor visual básico, inicie el subprocedimiento de VBA.

Código:

 Sub Send_Keys_Example () End Sub 

Primero, debemos seleccionar la celda de comentario para editar el comentario. Por tanto, utilice el código RANGE ("A1"). Seleccione

Código:

 Sub Send_Keys_Example () Range ("A1"). Seleccione End Sub 

Una vez seleccionada la celda realizaremos la acción de editar los comentarios. Aquí necesitamos recordar el atajo de teclado que usamos para editar el comentario.

Para editar el comentario, usamos la tecla de atajo “Shift + F2” .

Si presiona esta tecla, estará editando el comentario.

Ahora abra el método "SendKeys".

En el método SendKeys, el carácter para usar la tecla SHIFT es “+” (signo más), así que ingrese el código de inicio de sesión “+”.

Ahora el signo más funciona como una tecla MAYÚS, la siguiente tecla junto con MAYÚS que usamos es la tecla F2. Siempre que usemos teclas de función, debemos encerrarlas entre llaves, así que ingrese la tecla de función F2 en las llaves.

Código:

 Sub Send_Keys_Example () Range ("A1"). Seleccione SendKeys "+ {F2}" End Sub 

Ahora ejecute el código y vea lo que obtenemos.

Cuando intentamos ejecutar el código, recibimos el mensaje anterior. Una de las cosas clave que debemos tener en cuenta es que no podemos ejecutar la macro que usa "SendKeys" desde la ventana del editor visual básico.

Necesitamos ejecutar el código de la lista "Macro".

Primero cierre la ventana del editor de Visual Basic.

Vaya a la pestaña "Desarrollador" y haga clic en "Macro".

Ahora se abre una lista de todas las macros, elija la macro que necesita ejecutar. Nuestro nombre de macro es "Send_Keys_Example", así que presionaré el botón Ejecutar.

Puede ver que la opción Editar comentario está habilitada.

Como puede ver arriba, ha asignado la tecla de método abreviado SHIFT + F2 para abrir la opción de editar comentario.

Ejemplo # 2

Por ejemplo, si desea abrir la ventana "Pegado especial" a través del método SendKeys, también podemos hacerlo. Primero, necesitamos copiar ciertas celdas y luego usar SendKeys.

Código:

 Sub Send_Keys_Example1 () Rango ("A1"). Copiar SendKeys "% es" End Sub 

Elija la macro que necesita ejecutar y luego haga clic en Ejecutar.

Cuando ejecute el código, se abrirá a continuación un cuadro de diálogo especial para pegar.

Cosas para recordar

  • SendKeys asigna pulsaciones de teclas a la aplicación activa.
  • Este método es tan complejo y se recomienda usarlo solo si es necesario y cuando no tienes opciones.
  • Siempre que usemos alfabetos como teclas, todos los alfabetos deben estar en minúsculas.