VBA SendKeys

SendKeys do Excel VBA

SendKeys na linguagem VBA é um método usado para enviar pressionamentos de tecla para a janela ativa para que possamos trabalhar manualmente depois disso. Sempre que usamos alfabetos como as chaves, todos os alfabetos precisam estar em letras minúsculas. É um método complexo e recomendado para usar somente se necessário e quando você estiver sem opções

“SendKeys” é um dos tópicos complexos de entender. Muitos de nós não usam esse recurso no VBA, mas é sempre bom ter mais conhecimento sobre mais tópicos. Neste artigo, mostraremos como usar a função SendKeys. Você pode achar difícil reler o artigo várias vezes com uma abordagem prática para aprender rápido e melhor.

Sintaxe

Abaixo está a sintaxe do método vba SendKeys.

Chaves ou string: o tipo de chave que precisamos enviar para o aplicativo ativo.

Espere: neste argumento, podemos usar duas coisas, ou seja, VERDADEIRO ou FALSO

  • TRUE se você quiser que o Excel espere que as Chaves atribuídas sejam processadas antes de ter o controle de volta para a macro.
  • FALSE se você ignorar o parâmetro Wait, este será o valor padrão. Se você escolher FALSE, o Excel continuará a executar a macro sem esperar que as chaves sejam processadas na janela ativa.

As teclas comuns que usamos com o teclado são “Ctrl, Shift e ALT” . Portanto, com o método SendKeys, precisamos usá-los com caracteres especiais, a tabela abaixo mostra os caracteres especiais para as três chaves comuns acima.

Outras teclas têm teclas e caracteres diferentes, a tabela abaixo mostra a explicação detalhada de cada tecla.

De acordo com o requisito, podemos usar qualquer uma das chaves acima. Com alguns exemplos práticos, mostraremos como usar as SendKeys.

Exemplos de uso do método SendKeys do Excel VBA

Você pode baixar este modelo VBA SendKeys do Excel aqui - Modelo VBA SendKeys do Excel

Exemplo 1

Por exemplo, observe o valor da célula abaixo.

Temos valores em três células e na primeira célula temos um valor de “Bangalore” e para esta célula, há um comentário como “Cidade Capital de Karnataka”.

Agora, usando “SendKeys”, tentamos editar este comentário.

Abra a planilha do Excel e vá para o editor visual básico, inicie o subprocedimento VBA.

Código:

 Sub Send_Keys_Example () End Sub 

Primeiro, precisamos selecionar a célula de comentário para editar o comentário. Portanto, use o código RANGE (“A1”). Selecione

Código:

 Sub Send_Keys_Example () Intervalo ("A1"). Selecione End Sub 

Assim que a célula for selecionada, realizaremos a ação de editar os comentários. Aqui, precisamos lembrar o atalho de teclado que usamos para editar o comentário.

Para editar o comentário, usamos a tecla de atalho “Shift + F2” .

Se você pressionar esta tecla, o comentário será editado.

Agora abra o método “SendKeys”.

No método SendKeys, o caractere para usar a tecla SHIFT é “+” (sinal de mais), então digite o código de entrada “+”.

Agora o sinal de mais funciona como uma tecla SHIFT, a próxima tecla com SHIFT que usamos é a tecla F2. Sempre que usarmos as teclas de função, precisamos colocá-las entre chaves, então insira a tecla de função F2 na chave.

Código:

 Sub Send_Keys_Example () Intervalo ("A1"). Selecione SendKeys "+ {F2}" End Sub 

Agora execute o código e veja o que obtemos.

Quando tentamos executar o código, recebemos a mensagem acima. Uma das coisas principais que precisamos ter em mente é que não podemos executar a macro que usa “SendKeys” da janela do editor do Visual Basic.

Precisamos executar o código da lista “Macro”.

Feche a janela do Editor do Visual Basic primeiro.

Vá para a guia “Desenvolvedor” e clique em “Macro”.

Agora uma lista de todas as macros é aberta, escolha a macro que você precisa para executar. Nosso nome de macro é “Send_Keys_Example”, então vou apertar o botão de execução.

Você pode ver que a opção Editar comentário está habilitada.

Como você pode ver acima, ele atribuiu a tecla de atalho SHIFT + F2 para abrir a opção de edição de comentário.

Exemplo # 2

Por exemplo, se você deseja abrir a janela “Colar especial” através do método SendKeys, podemos fazer isso também. Primeiro, precisamos copiar certas células e depois usar as SendKeys.

Código:

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

Escolha a macro que você precisa para executar e clique em Executar.

Ao executar o código, ele será aberto abaixo da caixa de diálogo colar especial.

Coisas para lembrar

  • SendKeys atribui pressionamentos de tecla ao aplicativo ativo.
  • Este método é muito complexo e recomenda-se usar somente se necessário e quando você estiver sem opções.
  • Sempre que usamos alfabetos como as chaves, todos os alfabetos precisam estar em caracteres minúsculos.