Ir ao conteúdo

Executar Macro


Henrique Silva

Posts recomendados

Postado

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.

Postado

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

Postado
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")?

Postado

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

Postado
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.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!