Blog

Postado em em 24 de dezembro de 2022

SendKeys VBA – Como Usar o Teclado nos Códigos em VBA

Você já ouviu falar no comando SendKeys VBA? Esse é um comando que te permite utilizar seu teclado no VBA para automatizar tarefas!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala, Impressionadores! Na aula de hoje você vai ver o que é SendKeys no VBA!

Para isso eu vou te mostrar um exemplo com SendKeys no VBA na prática. Você vai notar que você pode utilizar diversos atalhos do Excel, pode utilizar para de fato escrever em células etc.

E aí, quer saber como funciona esse comando? Vem aprender com a gente!

Comando SendKeys no VBA

A instrução SendKeys é, segundo fontes oficiais, a que “envia um ou mais teclas pressionadas para a janela ativa como se tivessem sido digitados no teclado”.

Traduzindo na prática, é um comando permite usar o VBA para digitar no seu teclado. Ou seja, você vai poder executar comandos do seu teclado através do VBA.

Abaixo preparamos duas aplicações do SendKeys no VBA códigos para mostrar esse comando na prática.

Exemplo 1) Escrevendo numa célula com SendKeys

O primeiro exemplo diz respeito a escrever um texto específico numa dada célula da planilha.

Veja o código abaixo que vai fazer essa tarefa, simulando os passos de uma pessoa fazendo-os:

Sub escrevendo_celula_sendkeys()

Range("B2").Select
Application.SendKeys "{F2}", True
Application.SendKeys "Digitando algo", True
Application.SendKeys "~", True

End Sub

Comentários a respeito do código acima:

Vamos simular simplesmente conforme fazemos pelo teclado para digitar algo em uma célula. O código vai:

  • Selecionar a célula B2
  • Apertar F2 com o teclado, para “entrar” na fórmula da célula, de fato
  • Digitar o texto “Digitando algo”
  • Dar Enter, ao final da digitação (que resulta em ir para a célula imediatamente abaixo: B3)
  • O argumento True em todos os comandos SendKeys diz respeito a esperar as teclas serem apertadas para as próximas instruções acontecerem
  • Se encerra o código

Como atribuir macro a um botão

Poderemos acionar o nosso código através de um botão, que funcionará como ativador do código (representado na imagem acima por “Macro1”).

O nosso código pode ser acionado através de um botão: ele que vai ser o disparador do código de forma prática.

Para isso, iremos na nossa planilha na guia um retângulo de cantos arredondados. A partir dessa escolha, redimensione a ilustração de acordo com o seu gosto, e pronto.

Após isso, você pode personalizar o botão da forma que você queira.

Para finalizar, basta associar a macro criada ao botão, com o botão direito do mouse.

Agora podemos rodar o código através do botão personalizado. Veja o resultado do nosso código sendo executado abaixo:

Sendkeys VBA
Sendkeys VBA

Exemplo 2) Como criar comentário no VBA com SendKeys

O segundo exemplo vai dizer respeito a escrever um comentário específico dentro de uma dada célula da planilha (mesma que foi utilizada anteriormente de exemplo).

Veja o código abaixo que vai simular isso, espelhando exatamente os passos para fazê-lo:

Sub usandoSendKeys()

Application.SendKeys "{F5}", True
Application.SendKeys "B2~", True
Application.SendKeys "+{F2}", True
Application.SendKeys "^+{UP}", True
Application.SendKeys "Texto do comentario alterado", True

End Sub

Comentários a respeito do código acima:

Vamos simular simplesmente conforme fazemos pelo teclado para acionar a ida numa célula, e criar um comentário. O código vai:

  • Abrir a caixinha de “ir para” uma célula específica, através do atalho F5 do Excel. Algo como:
1 7
  • Especificar a célula B2 e apertar Enter (~ significa Enter para a instrução SendKeys)
  • Acionar o atalho Shift+F2 no teclado, para incluir um comentário numa célula. Parecido com:
2 6
  • Selecionar todo o texto do comentário, através do atalho Ctrl+Shift+Seta para cima
  • Digitar o texto “Texto do comentário alterado”
  • O argumento True em todos os comandos SendKeys diz respeito a esperar as teclas serem apertadas para as próximas instruções acontecerem
  • Se encerra o código

Podemos novamente rodar o código através de um botão personalizado, como vimos anteriormente (aqui vamos aproveitar o mesmo). Veja o resultado do nosso código sendo executado abaixo:

O que o sendkeys pode fazer
O que o sendkeys pode fazer

Conclusão – SendKeys VBA

Nessa aula você viu como como usar sendkeys no VBA. Com duas aplicações com sendkeys no VBA na prática, você pôde ver na prática como utilizar as teclas do teclado pelo VBA.

Também aprendeu como inserir macro em um botão, para executar seus códigos com facilidade diretamente na planilha!

Valeu, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador