Etiquetas: vba
- Este tópico contém 7 respostas, 2 utilizadores e foi actualizado pela última vez há 8 anos, 9 meses por jorgerod.
-
AutorArtigos
-
-
4 de Março de 2016 às 20:03 #4918rdigo25Participante
Olá,
Acho que tenho uma dúvida simples, estou iniciando estudos em VBA e gostaria de criar um VBA para que caso na célula EX: J15 que tem uma fórmula condicional simples SE(C26>=15,”DENTRO DO PRAZO”,”FORA DO PRAZO”), quando for fora do prazo apareça automaticamente uma MSGBOX alertando.
É possível?
Agradeço a todos!!
Attachments:
You must be logged in to view attached files. -
4 de Março de 2016 às 20:49 #4920jorgerodAdministrador
Boas,
Experimenta este código,na tua WorkSheet :
Private Sub Worksheet_Change(ByVal Target As Range)
If Range(“C26”) < 15 Then
MsgBox “ATENÇÃO!!!! FORA DO PRAZO”
End If
End Sub
Diz qq coisa, ok?
-
5 de Março de 2016 às 14:23 #4922jorgerodAdministrador
Boas,
Desde que refiras no código, se for número: < (menor que); > (maior que); = (igual a); =< (igual a ou menor que) ou >= (maior que ou igual a)
se for Alfabético ou alfanumérico: = (igual a) ou <> (diferente de), podes utilizar como entenderes.Quanto a parar o VBA (código), se for Private Sub Worksheet_Change(ByVal Target As Range), abarca a planilha toda e, por isso, sempre que existe uma discrepância, o aparecimento da mensagem é automático, mas como é apenas uma mensagem de aviso, julgo que não é importante estar a tentar “inventar”, digo eu ☺☺
Fica bem e diz qq coisa, ok?
-
7 de Março de 2016 às 11:51 #4923rdigo25Participante
Jorgerod, muito obrigado!
Em relação a parar o VBA, existem casos em que pode ser menor que 15 (seria uma exceção), se a macro continuar executando sempre vai aparecer a mensagem, correto?
Queria um jeito de parar a macro, por exemplo marcando uma caixa de seleção vinculada a uma célula, é possível?
Agradeço muito a ajuda novamente!!
-
7 de Março de 2016 às 17:24 #4924jorgerodAdministrador
Rdigo25,
Experimenta (mesmo sem caixa de vinculação), com o acrescento na célula X1, ou seja, se esta célula tiver conteúdo, a msg aparece quando digitas valor <15 na célula C26, caso contrário, mesmo que C26 tenha valor <15, nada aparece.
Private Sub Worksheet_Change(ByVal Target As Range)
If Range(“C26”).Value < 15 And Range(“X1”).Value <> “” Then
MsgBox “Atenção!!!! Fora de prazo!!!”
End If
End Sub
Fica bem e diz qq coisa!! ☺
-
7 de Março de 2016 às 17:31 #4925rdigo25Participante
Jorgerod, muitissimo obrigado mais uma vez, deu tudo certo!
Quero ser igual a você, mestre do Excel!!!
Parabéns e obrigado por compartilhar todo seu conhecimento.
-
7 de Março de 2016 às 18:18 #4926jorgerodAdministrador
☺☺
Obrigado!!!
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.