Notifications
Clear all

Criar uma caixa de mensagem(aviso)

6 Posts
3 Usuários
0 Reactions
1,036 Visualizações
(@makoski)
Posts: 0
New Member
Topic starter
 

Bom dia

Preciso de um macro que abra uma caixa de mensagem quando aparece uma palavra de alerta. Por exemplo, na célula d26 tem uma formula de procv que puxa de outra tabela de excel, e quando aparecer a palavra "182PS" preciso de um macro que abra uma caixa de mensagem na tela um aviso escrito "MANDAR LAUDO DE QUALIDADE". Tenho problemas na empresa onde trabalho que a funcionária sempre esquece de mandar o laudo de certos materiais. Assim gostaria de fazer um método de aviso para ela não esquecer. Alguém poderia me ajudar???

Acho que é uma coisa simples, mais não encontrei na internet ainda.

 
Postado : 02/06/2015 5:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Estou supondo que a digitação seja na aba "CQ Producao", então nesta aba clique com o botão direito na guia e selecione Exibir Código, ee cole o código abaixo.

Toda vez que a aba for recalculada a rotina será executada e fará a verificação.
Lembrando que as macros teem de estar habilitada.

Private Sub Worksheet_Calculate()
    If Range("D26").Value = "182PS" Then
        MsgBox "MANDAR LAUDO DE QUALIDADE !!"
    End If
End Sub

 
Postado : 02/06/2015 7:50 am
(@carlosrgs)
Posts: 0
New Member
 

Boa tarde

Quase todo dia entro no fórum para ver as postagens e aprender algo novo.

Analisando a dúvida do Makoshi, lembrei de uma duvida que eu tinha.

Eu queria executar uma macro qualquer de acordo com o valor de uma determinada célula, não consegui até hoje, mas com a resposta do Mauro fiz o seguinte.

Sub Teste()
'
If Range("D26").Value = "TEXTO" Then
If MsgBox("Executar macro ?", vbYesNo) = vbNo Then
Exit Sub
End If
End If

' Macro teste.
Range("F23").Select
ActiveCell.FormulaR1C1 = "OK"
End Sub

Se a célula (ou resultado da fórmula) for = "TEXTO" eu executo uma macro ou não (tenho a opção de executa-la ou não)

Esse código que eu adaptei, vcs conhecem algo melhor ou estou no caminho certo ?

Obrigado!

 
Postado : 02/06/2015 10:24 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Carlos, abra um Tópico com suas questões, assim não misturamos os assunto e ajudará ao Forum com o sistema de pesquisa.

Agora quanto a sua questão, está no caminho certo, mas um porem, se já executou sua rotina em que o valor não era "TEXTO", você colocou a formula, ou seja independente do valor sua rotina será executada, então eu faria da seguinte forma ;

Sub Executa_Valor_Celula()

    If Range("A5").Value = "TEXTO" Then
    
        If MsgBox("Executar macro ?", vbYesNo) = vbNo Then
            'Se NÃO - Sai da Rotina
            Exit Sub
        Else
            'Se SIM executa
            Range("F23").Select
            ActiveCell.FormulaR1C1 = "OK"
        End If
        
    End If

End Sub

Se tiver duvidas, as questões serão respondidas no tópico que abrir, pois este será trancado e moverei estes para o novo tópico.

[]s

 
Postado : 02/06/2015 11:44 am
(@carlosrgs)
Posts: 0
New Member
 

Ok.

Obrigado Mauro.

Fiquei na dúvida sobre abrir tópico ou não, mas da próxima vou seguir a orientação!

 
Postado : 02/06/2015 11:56 am
(@makoski)
Posts: 0
New Member
Topic starter
 

Obrigado Mauro

Tua indicação abaixo deu certo. Mas precisava que aparece está mensagem em alguns itens. Por exemplo na nova planilha que anexei preciso que na aba "CQ Producao, quando aparecer no d26 alguns dos materiais da aba "Plan1" preciso que aparece a mensagem de "mandar laudo de qualidade.

Private Sub Worksheet_Calculate()
If Range("D26").Value = "182PS" Then
MsgBox "MANDAR LAUDO DE QUALIDADE !!"
End If
End Sub

Poderia me ajudar novamente????

 
Postado : 04/06/2015 5:30 am