Pular para o conteúdo

Rodar macro ao pressionar tecla no teclado

Rodar macro ao pressionar tecla no teclado

Diferente da maioria do conteúdo presente no Função Excel (até agora), este é um post mais avançado, para aqueles que já tem um conhecimento em programação VBA e estão em busca de executar certa macro quando alguma tecla ou botão do mouse é pressionado.

Se você está em busca de macros que são executadas automaticamente após dado evento, veja o artigo deste link aqui.

Como utilizar o código para rodar uma macro ao pressionar uma tecla

Todos os códigos mostrados aqui devem ser utilizados em uma evento KeyDown ou KeyUp de algum objeto presente dentro de um Formulário (UserForm).


Exemplo Geral de como rodar uma macro ao pressionar uma tecla

O exemplo geral que utilizarei será um caixa de texto dentro de um Formulário. O nome desta caixa de texto é TextBox1.

Todos os códigos exibidos aqui terão a estrutura básica idêntica aos exemplos abaixo, apenas alterando as KeyCodes de acordo com o desejado.

Os exemplos abaixo tem exatamente o mesmo comportamento/função, porém no primeiro utilizamos o KeyCode e no segundo o Valor do KeyCode.

Exemplo genérico utilizando o KeyCode

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = vbKeyReturn Then MsgBox "Função Excel"
End Sub

Exemplo genérico utilizando o Valor do KeyCode

Private Sub TextBox1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then MsgBox "Função Excel"
End Sub

Ambos os código de exemplo acima, exibem uma caixa de mensagem escrito “Função Excel” quando a tecla ENTER é pressionada no TextBox1.

Este foi apenas um exemplo geral, você pode utilizar os eventos de pressionar tecla de outras formas, seguindo esta mesma linha de raciocínio.


KeyCodes de teclas especiais para Excel

KeyCode Valor Tecla Correspondente
vbKeyLButton 1 BOTÃO ESQUERDO DO MOUSE
vbKeyRButton 2 BOTÃO DIREITO DO MOUSE
vbKeyCancel 3 Tecla CANCEL
vbKeyMButton 4 BOTÃO DO MEIO DO MOUSE
vbKeyBack 8 Tecla BACKSPACE
vbKeyTab 9 Tecla TAB
vbKeyClear 12 Tecla CLEAR
vbKeyReturn 13 Tecla ENTER
vbKeyShift 16 Tecla SHIFT
vbKeyControl 17 Tecla CTRL
vbKeyMenu 18 Tecla MENU
vbKeyPause 19 Tecla PAUSE
vbKeyCapital 20 Tecla CAPS LOCK
vbKeyEscape 27 Tecla ESC
vbKeySpace 32 Tecla SPACEBAR
vbKeyPageUp 33 Tecla PAGE UP
vbKeyPageDown 34 Tecla PAGE DOWN
vbKeyEnd 35 Tecla END
vbKeyHome 36 Tecla HOME
vbKeyLeft 37 Tecla SETA PRA ESQUERDA
vbKeyUp 38 Tecla SETA PRA CIMA
vbKeyRight 39 Tecla SETA PRA DIREITA
vbKeyDown 40 Tecla SETA PRA BAIXO
vbKeySelect 41 Tecla SELECT
vbKeyPrint 42 Tecla PRINT SCREEN
vbKeyExecute 43 Tecla EXECUTE
vbKeySnapshot 44 Tecla SNAPSHOT
vbKeyInsert 45 Tecla INS
vbKeyDelete 46 Tecla DEL
vbKeyHelp 47 Tecla HELP
vbKeyNumlock 144 Tecla NUM LOCK

KeyCodes de teclas do alfabeto para Excel

KeyCode Valor Tecla Correspondente
vbKeyA 65 A
vbKeyB 66 B
vbKeyC 67 C
vbKeyD 68 D
vbKeyE 69 E
vbKeyF 70 F
vbKeyG 71 G
vbKeyH 72 H
vbKeyI 73 I
vbKeyJ 74 J
vbKeyK 75 K
vbKeyL 76 L
vbKeyM 77 M
vbKeyN 78 N
vbKeyO 79 O
vbKeyP 80 P
vbKeyQ 81 Q
vbKeyR 82 R
vbKeyS 83 S
vbKeyT 84 T
vbKeyU 85 U
vbKeyV 86 V
vbKeyW 87 W
vbKeyX 88 X
vbKeyY 89 Y
vbKeYz 90 Z

KeyCodes de teclas numéricas para Excel

KeyCode Valor Tecla Correspondente
vbKey0 48 0
vbKey1 49 1
vbKey2 50 2
vbKey3 51 3
vbKey4 52 4
vbKey5 53 5
vbKey6 54 6
vbKey7 55 7
vbKey8 56 8
vbKey9 57 9

KeyCodes para teclas numéricas do teclado numérico para Excel

KeyCode Valor Tecla Correspondente
vbKeyNumpad0 96 0
vbKeyNumpad1 97 1
vbKeyNumpad2 98 2
vbKeyNumpad3 99 3
vbKeyNumpad4 100 4
vbKeyNumpad5 101 5
vbKeyNumpad6 102 6
vbKeyNumpad7 103 7
vbKeyNumpad8 104 8
vbKeyNumpad9 105 9
vbKeyMultiply 106 Multiplicação (*)
vbKeyAdd 107 Soma (+)
vbKeySeparator 108 Enter
vbKeySubtract 109 Subtração (-)
vbKeyDecimal 110 Ponto Decimal (.)
vbKeyDivide 111 Divisão (/)

KeyCodes para teclas de função para Excel

KeyCode Valor Tecla Correspondente
vbKeyF1 112 F1
vbKeyF2 113 F2
vbKeyF3 114 F3
vbKeyF4 115 F4
vbKeyF5 116 F5
vbKeyF6 117 F6
vbKeyF7 118 F7
vbKeyF8 119 F8
vbKeyF9 120 F9
vbKeyF10 121 F10
vbKeyF11 122 F11
vbKeyF12 123 F12
vbKeyF13 124 F13
vbKeyF14 125 F14
vbKeyF15 126 F15
vbKeyF16 127 F16

Acompanhe o Função Excel
facebook-logo youtube-logo googleplus-logo twitter-logo

Deixe um comentário ou uma dúvida