3
respostas

[Dúvida] Botoes nao executam a macro selecionada

Ao criar minhas macros, elas funcionam perfeitamente quando executadas via Menu Developer > Macros. No entanto, ao criar um botao e vincular a essa mesma macro, o botao nao funciona. Ja tentei recriar a Macro, reiniciar o Excel, selecionar outras macros mas nada deu resultado. O que poderia estar acontecendo?

3 respostas

Oiê Fabiano! Tudo joia?

Lamento por essa instabilidade no Excel, podemos verificar alguns pontos que interferem no funcionamento. Vamos testar:

Na guia Desenvolvedor, vá à sessão Código e clique em Segurança da Macro. Abrirá uma janela, chamada Central de confiabilidade, clique em Configurações da Macro, para habilitar as permissões de Excel e do Desenvolvedor. Por exemplo:

Captura de tela mostrando a janela de central de confiabilidade de uma macro no excel. A imagem possui a cor cinza de fundo, no canto esquerdo temos algumas opções e a configuração de macro está destacado de verde. E no meio da imagem temos a sessão de configurações de marco com a opção desabilitar marcos vba com notificação e habilitar macros do excel 4,0 quando as macros vba estiverem habilitadas, habilitados e destacado de verde. E uma sessão de configurações da macro do desenvolver também habilitado e destacado por uma seta verde.

Outros pontos para revisar são os nomes da macro ao vincular ao botão, se a macro está no mesmo módulo da gravação. Use a funcionalidade de depurar a macro para ver se possui algum erro. Teste usar outra forma de botão, por exemplo, se fez pelo formulário faça um botão ActiveX.

Espero que as sugestões te ajude a reparar o bug. Caso apareça algum erro ou mais detalhes, compartilhe no fórum para podermos te ajudar.

Até mais, Fabiano!

Infelizmente nao resolveu. Fiz uma macro bem simples, somente para atualizar uma tabela dinamica. Ao rodar ela via Developer > Macros, funciona normalmente. Mas ao rodar via o botao que criei e vinculei a essa mesma macro, nada acontece.

Oie, Fabiano!

Obrigada por retornar.

Vamos tentar reparar outros pontos que possam estar influenciando.

Cheque se o nome da macro vinculada está igual ao da macro criada, se houver um espaçamento a mais, já pode causar um erro. Depois, acesse o VBS, pode ser usando o Alt + F11 do seu teclado, para localizar a macro para saber em qual módulo ela está, precisamos que ela esteja no módulo certo ou em público para ter visibilidade.

E por fim, adicione o seguinte código de depuração no início da sua macro:

MsgBox "Macro Iniciada"

Com isso, é possível saber alguns detalhes sobre como e onde ela está sendo iniciada, se está parando e etc.

Após essa revisão, faça os testes novamente.

Bons estudos, Fabiano!