Controlar direção d...
 
Notifications
Clear all

Controlar direção da TAB

5 Posts
3 Usuários
0 Reactions
996 Visualizações
(@rodrigo100)
Posts: 3
New Member
Topic starter
 

Olá, é meu primeiro post.
Gostaria dizer que sou usuário iniciante, mas já fiz várias coisas em VBA para agilizar meu dia a dia no trabalho e em casa.

Mas no momento preciso de uma coisa, que já revirei tudo e não encontrei. E é uma função que utilizarei em várias planilhas;

Preciso de um código, que me faça escolher para onde a tecla TAB vai quando acioná-la;
1º - Não se trata de bloquear a célula ou planilha, preciso controlar para onde o TAB vai indicar entre células que estão desbloqueadas mesmo;
2º - Não é usando a userform, sendo que esta opção encontrei muito conteúdo.
3º - Para exemplificar encontrei um código que parece ser o que eu quero, mas por algum motivo não consegui fazê-lo funcionar:

O código mais enxuto ficaria assim:

Sub Auto_Open()

 'Define ação das teclas Tab e Enter
  Application.OnKey "{TAB}", "ProxCampo"
  Application.OnKey "{ENTER}", "ProxCampo"
  'seta foco no primeiro campo
  Range("A2").Select

End Sub

Sub ProxCampo()
On Error Resume Next

  'se pressionar TAB nas celulas especificadas, pula pra prox campo

  Select Case ActiveCell.Address
    Case "$A$2"
      Range("C2").Select
    Case "$C$2"
      Range("A5").Select
    Case "$A$5"
      Range("A2").Select

'se houver outros campos, defina aqui conforme acima

  End Select

End Sub

Sempre que tento aparece esta mensagem:

Impossível executar a macro. Talvez não esteja disponível nesta pasta de trabalho ou não está habilitada para macro.

Mas me assegurei que a planilha está habilitada para macro SIM.

Desde já agradeço.

 
Postado : 04/08/2018 10:49 am
(@mprudencio)
Posts: 2749
Famed Member
 

Aqui funcionou como esperado.

A2, C2, A5 nesta ordem.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 04/08/2018 11:05 am
(@rodrigo100)
Posts: 3
New Member
Topic starter
 

Quando você disse que funcionou, entendi que o problema era outro, e era rs

Estava salvando minhas macros em "EstaPasta_de_trabalho" e não dentro da pasta "Módulos".

Obrigado

 
Postado : 04/08/2018 11:39 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
Dúvida interessante, que nunca tinha pensado!!
.
Aqui também funcionou com o TAB, mas somente após colar o código num módulo, salvar e abrir o arquivo novamente, e estando a célula C2 selecionada!! ... Aì vira um loop, A2, C2, A5 .. A2, C2, A5 !! ... Mas com Enter não funcionou - só comentando!!
.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/08/2018 12:35 pm
(@rodrigo100)
Posts: 3
New Member
Topic starter
 

Sim, ele cria um loop, caso você acesse as celulas do código. Mas a idéia é exatamente essa, ir para determinadas células pra preencher valores para determinados cálculos.

Quando ao ENTER, esse é do enter numérico. Do enter de texto usa-se o "~".

 
Postado : 04/08/2018 6:35 pm