Comprar a Coleção de 15.000 Macros, Funções e Fórmulas do Excel           Dicas



Pergunta:
Minha planilha tem dois botões de comando (btn1 e btn2).
Ao acionar o botão 1 quero que a rotina X seja executada. Da mesma forma, ao acionar o botão 2 quero que a rotina Y seja executada. Gostaria de usar a estrutura Select Case. Como resolver ?

Resposta:
Vamos supor que as rotinas a serem chamadas são :
Chamada1( ) e Chamada2( ) as quais transcrevemos abaixo.

Transcreva QuemChamou( ) para seu módulo.
Basta agora ativar btn1 ou btn2

Sub QuemChamou( )
Select Case Application.Caller
Case "btn1"
myRoutine = Application.Run("Chamada1")
Case "btn2"
myRoutine = Application.Run("Chamada2")
End Select
End Sub

Sub Chamada1( )
MsgBox "SSS"
End Sub

Sub Chamada2( )
MsgBox "XXX"
End Sub

Notas:
Ao introduzir objetos numa Planilha, o Excel lhes aplica nomes.
Você deve ter o cuidado de trocar esses nomes para btn1 e btn2.
Atribua (Assign) a Macro QuemChamou() aos dois botões btn1 e btn2. Ativando btn1 ou btn2 as macros Chamada1() ou Chamada2() serão executadas