VBA para impedir que o atalho global execute o código errado

0

O artigo no site a seguir fornece uma dica para impedir que um atalho de teclado global execute o código VBA errado quando duas macros diferentes em duas planilhas diferentes recebem o mesmo atalho de teclado (Ctrl + Letter).

http://excel.tips.net/T002872_One_Shortcut_for_Two_Macros.html

O artigo sugere uma solução, mas não fornece código de exemplo. Alguém pode enfrentar o seguinte cenário no VBA?

Solução:

Você pode manter as mesmas teclas de atalho adicionando algum código ao início de cada macro. Faça com que cada macro verifique o nome da pasta de trabalho ativa. Se o nome corresponder ao nome esperado para essa macro, o código poderá continuar em execução. Se não corresponder, o código poderá ativar a outra pasta de trabalho e executar diretamente a macro nessa.

Só preciso do código ... hmf

Obrigado!

Matt
fonte
Você deve fazer alguma pesquisa, começar com o VBA e pedir ajuda quando estiver em algum lugar. SU não é um serviço de escrita de código.
Karan

Respostas:

0

Você pode obter o nome da pasta de trabalho usando activeworkbook.name - para escrever facilmente um if em torno disso e usar exit sub se for o livro errado

Trum
fonte
Matt está procurando o código para fazer isso. Ele já afirmou que era uma solução possível.
LDC3
Eu disse a ele os objetos que você precisa, mas para expandir ainda mais: Se activeworkbook.name <> "nome do livro desejado", em seguida sub saída outra acabam se
Trum
Se você deseja executar vários do mesmo atalho - faça uma nova macro - anexe o atalho e insira um código como se activeworkbookname = "workbookA" chame macro1 elseif activeworkbookname = "workbookB" e chame macro2 end if
Trum