VBA SendKeys | Exemples d'ús del mètode SendKeys d'Excel VBA

Excel VBA SendKeys

SendKeys a VBA L'idioma és un mètode que s'utilitza per enviar pulsacions de tecles a la finestra activa perquè puguem treballar manualment després. Sempre que fem servir alfabets com a tecles, tots els alfabets han d’estar en minúscules. És un mètode complex i recomanable utilitzar-lo només si cal i quan no teniu opcions

"SendKeys" és un dels temes complexos que cal entendre. No molts de nosaltres fem servir aquesta funció a VBA, però sempre és bo tenir més coneixements sobre més temes. En aquest article, us mostrarem com utilitzar la funció SendKeys. És possible que tingueu dificultat per rellegir l’article diverses vegades amb un enfocament pràctic per aprendre ràpidament i millor.

Sintaxi

A continuació es mostra la sintaxi del mètode vba SendKeys.

Tecles o cadena: El tipus de clau que hem d’enviar a l’aplicació activa.

Espera: En aquest argument, podem utilitzar dues coses, és a dir, CERT o FALS

  • CERT si voleu que l’Excel esperi l’assignat Claus que es processarà abans de tornar a tenir el control a la macro.
  • FALS si ignora el fitxer Espera paràmetre aquest serà el valor per defecte. Si trieu FALS, Excel continua executant la macro sense esperar que les claus es processin a la finestra activa.

Les tecles habituals que fem servir amb el teclat són "Ctrl, Maj i ALT". Per tant, amb el mètode SendKeys, els hem d’utilitzar amb caràcters especials; la taula següent mostra els caràcters especials de les tres claus comunes anteriors.

Altres claus tenen claus i caràcters diferents, a la taula següent es mostra l'explicació detallada de cada clau.

Segons el requisit, podem utilitzar qualsevol de les claus anteriors. Amb alguns exemples pràctics, us mostrarem la manera d’utilitzar els SendKeys.

Exemples per utilitzar el mètode SendKeys d'Excel VBA

Podeu descarregar aquesta plantilla Excel de VBA SendKeys aquí: plantilla Excel de VBA SendKeys

Exemple 1

Per exemple, mireu el valor de la cel·la següent.

Tenim valors en tres cel·les i a la primera cel·la tenim un valor de "Bangalore" i, per a aquesta cel·la, hi ha un comentari com a "Capital de Karnataka".

Ara amb "SendKeys" intentem editar aquest comentari.

Obriu el full d'Excel i aneu a l'editor visual bàsic, inicieu el subprocediment VBA.

Codi:

 Sub Send_Keys_Example () Sub Sub 

En primer lloc, hem de seleccionar la cel·la de comentaris per editar-lo. Per tant, utilitzeu el codi RANGE ("A1"). Seleccioneu

Codi:

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

Un cop seleccionada la cel·la, realitzarem l'acció d'edició dels comentaris. Aquí hem de recordar la drecera de teclat que fem servir per editar el comentari.

Per editar el comentari, fem servir la tecla de drecera "Maj + F2".

Si premeu aquesta tecla, editarà el comentari.

Ara obriu el mètode "SendKeys".

Al mètode SendKeys, el caràcter per utilitzar la tecla MAJÚS és “+” (Signe més) introduïu el codi d'inici de sessió "+".

Ara el signe més funciona com una tecla MAJÚS, la següent clau junt amb MAJÚS que fem servir és la tecla F2. Sempre que fem servir tecles de funció, les hem de tancar amb claudàtors, així que introduïu la tecla de funció F2 al claudàtor.

Codi:

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

Ara executeu el codi i vegeu què obtenim.

Quan intentem executar el codi, rebem el missatge de la manera anterior. Una de les coses clau que hem de tenir en compte és que no podem executar la macro que utilitza "SendKeys" des de la finestra de l'editor visual bàsic.

Hem d'executar el codi de la llista "Macro".

Primer tanqueu la finestra de Visual Basic Editor.

Aneu a la pestanya "Desenvolupador" i feu clic a "Macro".

Ara s'obre una llista de totes les macros, trieu la macro que necessiteu per executar. El nostre nom de macro és "Send_Keys_Example", així que premeré el botó d'execució.

Podeu veure que l'opció Edita comentari està activada.

Com podeu veure més amunt, ha assignat la tecla de drecera de MAJÚS + F2 per obrir l’opció d’edició de comentaris.

Exemple 2

Per exemple, si voleu obrir la finestra "Enganxa especial" mitjançant el mètode SendKeys, també ho podem fer. Primer, hem de copiar determinades cel·les i després utilitzar els SendKeys.

Codi:

 Sub Send_Keys_Example1 () Range ("A1"). Copia SendKeys "% es" End Sub 

Trieu la macro que necessiteu per executar i feu clic a Executa.

Quan executeu el codi, s'obrirà a sota d'enganxar un quadre de diàleg especial.

Coses que cal recordar

  • SendKeys assigna pulsacions de tecles a l'aplicació activa.
  • Aquest mètode és tan complex i recomana utilitzar-lo només si cal i quan no teniu opcions.
  • Sempre que fem servir alfabets com a tecles, tots els alfabets han d’estar en minúscules.