Notifications
Clear all

"Desligar" ToggleButton pressionando tecla

4 Posts
2 Usuários
0 Reactions
1,862 Visualizações
(@jorudess)
Posts: 53
Trusted Member
Topic starter
 

Fala galera,

Eu tenho alguns togglebuttons na minha planilha e eu gostaria que, caso ele esteja "ligado" (value = true) e eu pressione ESC, ele "desligue" (value = False).

Eu dei uma lida no material de ajuda da microsoft mas achei confuso.

 
Postado : 09/08/2017 8:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Dentro do módulo de planilha insira esse código

Private Sub Worksheet_Activate()
    Application.SendKeys ("ESC")
    Range("A1").Value = FALSO
End Sub

Obs: Neste exemplo eu estou considerando que a guia será ativa ao apertar ESC e se o botão estiver pressionado vai desativar o botão, lembrando que eu coloque a propriedade LinkedCell em A1, você pode fazer diferente.

Att

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

 
Postado : 10/08/2017 5:38 am
(@jorudess)
Posts: 53
Trusted Member
Topic starter
 

alexandrevba,

Chegou próximo mas ainda não resolveu meu problema... eu utilizei seu código e substituí a segunda linha por BtnAzulEscuro.Value = False. Então acontece o seguinte:

1 - Toda vez que eu ativo a aba, ele "desliga" o toggle button (Ok, é mais ou menos isso que eu preciso);
2 - Escreve "ESC" na célula que estiver selecionada (não quero que isso aconteça);
3 - Só funciona quando eu desativo a aba e ativo novamente (humm.. isso é ruim);

Eu utilizo o toggle button para formatar algumas células, tipo... quando eu clico no toggle button, ele copia a formatação de uma célula específica e quando eu clico em qualquer outra célula da planilha ele cola essa formatação, simulando o pincel de formatação.

Resumindo... já que eu cliquei no toggle button para acioná-lo, minha aba sempre estará ativa, eu só preciso que o vba reconheça o "ESC" como um comando para desativar o toggle button... da mesma forma que, quando vc usa o pincel de formatação e pressiona ESC, a ferramenta é desativada.

Eu achei que deveria ser alguma coisa no evento KeyPress do toggle button, mas tentei e não consegui fazer funcionar.

 
Postado : 10/08/2017 10:08 am
(@jorudess)
Posts: 53
Trusted Member
Topic starter
 

Consegui resolver com a ajuda deste material ... http://www.microsoftexcel.com.br/index. ... macro.html

Meu código ficou assim:

Private Sub Workbook_Open()


    Application.OnKey "{ESC}", "Desabilitabotoes"


End Sub


Sub Desabilitabotoes()


    If ActiveSheet.NOMEDOBOTAO(TOGGLEBUTTON).Value = True Then
        ActiveSheet.NOMEDOBOTAO(TOGGLEBUTTON).Value = False
    End If


End Sub

Eu tava tenho problema com um erro "não é possível executar a macro...talvez ela não esteja nesta pasta de trabalho ou todas as macros estejam desabilitadas", mas depois percebi que o problema era porque o módulo e a macro tinham o mesmo nome. Tinha renomeado o módulo para "teste" e ao usar uma Sub com este mesmo nome o Excel deu erro.

 
Postado : 13/08/2017 4:21 pm