Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Henrique Silva

[Resolvido] Executar Macro

Recommended Posts

Olá, tem como excutar uma macro a partir de um resultado? Exemplo:

Se o resultado de uma celula é igual a 2 então vai excutar a macro A, se o resultado for 3 então executa a macro B e assim por diante.

Preciso muito dessa ajuda, caso alguém saiba como fazer por favor me ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Henrique.

Teste a macro abaixo. Cole-a no módulo da planilha onde irá testar.

Serão exibidas caixas de mensagem "simulando" o disparo das macros.

O disparo ocorrerá por alteração em qquer célula da planilha.

É um ponto de partida, poderão ser feitos ajustes/alterações conforme a sua necessidade.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("A1").Value = 2 Then
MsgBox " Macro A "
'Macro A
End If

If Range("A1").Value = 3 Then
MsgBox " Macro B "
'Macro B
End If
Application.EnableEvents = True
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá, Henrique.

Teste a macro abaixo. Cole-a no módulo da planilha onde irá testar.

Serão exibidas caixas de mensagem "simulando" o disparo das macros.

O disparo ocorrerá por alteração em qquer célula da planilha.

É um ponto de partida, poderão ser feitos ajustes/alterações conforme a sua necessidade.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("A1").Value = 2 Then
MsgBox " Macro A "
'Macro A
End If

If Range("A1").Value = 3 Then
MsgBox " Macro B "
'Macro B
End If
Application.EnableEvents = True
End Sub

Cara valeu d+++ era exatamente o que eu estava precisando, só tem mais uma coisa, não tem como o disparo ocorrer quando tiver alteração apenas na celula ("A1")?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se é isso

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Target.Value = 2 Then
MsgBox " Macro A "
'Macro A
End If
If Target.Value = 3 Then
MsgBox " Macro B "
'Macro B
End If
Application.EnableEvents = True
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites
veja se é isso

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Target.Value = 2 Then
MsgBox " Macro A "
'Macro A
End If
If Target.Value = 3 Then
MsgBox " Macro B "
'Macro B
End If
Application.EnableEvents = True
End Sub

Osvaldo, muito bom, perfeito, muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×