Notifications
Clear all

Tecla de atalho para de funcionar

8 Posts
4 Usuários
0 Reactions
1,147 Visualizações
(@pdbbarros)
Posts: 0
New Member
Topic starter
 

Bom dia, meus caros!

Tenho um form (LocalizarBeneficiario) que se abre para coletar dados de cadastro de usuários. Eu coloquei o atalho CTRL + Ç para chamar o form. De início deu certo, porém, do nada, o atalho parou de funcionar. Eu tentei gravar uma macro com o botão "Gravar macro", colocando o atalho e alterando o seu código lá dentro; tentei a macro abaixo (dentro de um módulo):

Sub AbreBusca()

Worksheets("Relação").Unprotect Password:="xxxxx"
Application.OnKey "^{ç}", "AbreBusca"
Worksheets("Relação").Activate
LocalizarBeneficiario.Show
Worksheets("Relação").Protect Password:="xxxxx", UserInterfaceOnly:=True
    
End Sub

O engraçado é que o atalho chegou a funcionar, mas quando fechei a abri o arquivo de novo não funcionou mais.

Também houve uma mensagem dizendo que "minha macro não estava sendo encontrada", sendo que eu conferi atenciosamente a respeito do nome da macro.

Então, o que devo fazer para esse form ser chamado por um atalho?

Agradecido.

 
Postado : 31/10/2016 4:58 am
(@mprudencio)
Posts: 0
New Member
 

Verifica se a macro esta no arquivo

 
Postado : 31/10/2016 9:03 am
(@pdbbarros)
Posts: 0
New Member
Topic starter
 

Desculpe, mas eu realmente sou novato! Estou estudando VBA há cerca de 2 meses apenas, e sozinho. E mesmo assim trabalho muito e não tenho tanto tempo pra ler nada. Então pode me explicar o que significa "ver se a macro está no arquivo"?

Agradecido.

 
Postado : 31/10/2016 4:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite pdbbarros

Seja bem-vindo ao fórum!

Como você é novato, para facilitar a tua participação no fórum, sugiro tomar conhecimento do conteúdo dos links abaixo:

viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Ele quis saber se você verificou se a macro continua na planilha, pois se você não salvar o arquivo como "Pasta de Trabalho Habilitada para Macro do Excel", a macro não será salva com a planilha.

[]s

 
Postado : 31/10/2016 6:17 pm
(@edsonbr)
Posts: 0
New Member
 

Bom dia, Pdbbarros, bem vindo.

Achei estranho quando vc disse que

...Eu coloquei o atalho CTRL + Ç para chamar o form.De início deu certo, porém, do nada, o atalho parou de funcionar...

Na verdade não era prá funcionar nem de início rsrsr. Isso porque só são aceitas como teclas de atalho as letras a..z (ou A..Z). Até mesmo os números são rejeitados (dá mensagem "Erro em tempo de execução 1004: A tecla de atalho deve ser uma letra"), bem como teclas de função, de controle, pontuação, etc.

Embora possamos argumentar que o cê-cedilha seja também uma letra, ele está disponível como uma tecla independente somente em teclados das línguas francesa, portuguesa, espanhola e italiana. Em outros só se consegue com uma combinação de teclas. É interessante que o Excel até aceita a entrada do Ç como tecla de atalho, mas ela não funciona como esperado. Em linhas gerais, acho importante, sempre que possível, evitar o uso de acentuação, sinais diacríticos ou símbolos latinos especiais quando se trata de algum desenvolvimento relacionado à programação, pois assim pode-se evitar comportamentos imprevisíveis.

Então, recomendaria a você que use uma letra de a a z, de preferência até minúscula, não acentuada, que vai funcionar. (Obs.: se quiser pode até usar maiúscula, por exemplo "A", mas na hora que for usar o atalho tem que usar Ctrl + Shift A ao invés de somente Ctrl + A, mesmo que CapsLock esteja On, caso contrário o Excel irá usar o atalho pré-definido para a tecla, no caso do Ctrl + "A" abre a janela Arquivo>Abrir).

Pode inclusive fazer um teste, rode a primeira macro (DefineAtalho), vá no Excel e use a tecla de atalho. Depois mude ShortcutKey para "ç" e veja que nada acontece:

Sub DefineAtalho()
   'Assim Funciona. Trocando por "ç" deixa de funcionar
  Application.MacroOptions Macro:="TesteAtalho", HasShortcutKey:=True, ShortcutKey:="a"
End Sub

Sub TesteAtalho()
  MsgBox "Deu Certo!"
End Sub
 
Postado : 01/11/2016 6:44 am
(@pdbbarros)
Posts: 0
New Member
Topic starter
 

Patropi

Vou ler todos os links.

Eu já salvei a pasta de trabalho com habilitação para macro.

 
Postado : 03/11/2016 12:49 pm
(@pdbbarros)
Posts: 0
New Member
Topic starter
 

EdsonBR

Pois foi exatamente isso! A macro funcionou e a caixa apareceu, aí simplesmente parou. E funcionou com Ç. Tenho certeza disso! Quanto ao código que me enviou, vou tentar com ele depois.

Obrigado.

 
Postado : 03/11/2016 12:59 pm
(@pdbbarros)
Posts: 0
New Member
Topic starter
 

BELEZA! O atalho está funcionando! Obrigado!

Agora, como eu faço para a macro de localização continuar localizando as nomes na planilha? Por exemplo, tenho 10 pessoas com o nome de João (exemplo: João da Silva, João Paulo, etc), daí eu quero que a macro ache o primeiro e depois continue achando os demais à medida que continuo apertando ENTER?

 
Postado : 03/11/2016 5:17 pm