Página 1 de 1

Criar alerta no excel com VBA

Enviado: 19 Abr 2018 às 13:04
por Dmorais
Gente preciso meeesmo de ajuda.

Estou a dar os primeiros passos em VBA e deparei-me logo com um problema. Preciso criar uma mensagem de alerta quando é escolhida a palavra Sim de uma dropbox.
Consegui a primeira! o Problema é que ao criar a mesma condição para a célula seguinte, ele fica a repetir a primeira ordem dps segunda..etc..
o que estou a fazer mal? Preciso que lance alerta uma vez e chega :lol:

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("c6") = "Sim" Then
MsgBox "Por favor indicar Montante de Financiamento Aprovado"
End If

If Range("c7") = "Sim" Then
MsgBox "Por favor indicar Montante de Financiamento Pretendido"

End If
End Sub

Muito, muito grata desde já!

Re: Criar alerta no excel com VBA

Enviado: 19 Abr 2018 às 14:58
por osvaldomp
Experimente:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)

 If Range("c6").Value = "Sim" Then
 MsgBox "Por favor indicar Montante de Financiamento Aprovado"
 
 ElseIf Range("c7").Value = "Sim" Then
 MsgBox "Por favor indicar Montante de Financiamento Pretendido"
 
 End If

End Sub
Experimente este outro também:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)

 If Target.Address = "$C$6" And Target.Value = "Sim" Then _
 MsgBox "Por favor indicar Montante de Financiamento Aprovado"
 
 If Target.Address = "$C$7" And Target.Value = "Sim" Then _
 MsgBox "Por favor indicar Montante de Financiamento Pretendido"
 
End Sub

Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 05:57
por Dmorais
Tou até emocionada :cry: muito obrigada! Funcionou e até repliquei para outros campos.

Agora me diz uma coisa... quando limpo os campos para colocar nova informação (montantes, etc) aparece aquela mensagem Run-time erro "13" Type mismatch. Faço end mas volta a aparecer... ajudas-me?

Re: Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 08:32
por osvaldomp
Dmorais escreveu:... quando limpo os campos ... aparece aquela mensagem Run-time erro ...
Se o erro ocorre ao limpar várias células simultaneamente, para resolver acrescente a segunda linha abaixo. Se não resolver, explique.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
...
...
...

Re: Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 10:50
por Dmorais
Não tá a funcionar. Posso estar a fazer algo errado (de certeza!)
Eu nao tou a limpar celulas simultanemante, mas sim celulas isoladas. Repara eu escrevo um valor numa célula qualquer (até das que não estão no codigo) e aparece sempre o erro cada vez que dou delete...
Imagem

Re: Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 11:05
por osvaldomp
Eu não consigo reproduzir o erro aqui.

Por favor disponibilize uma amostra do seu arquivo Excel (imagens não servem) com o código que está apresentando o erro instalado.

Re: Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 11:34
por Dmorais
Aqui vai. Valeu obrigada

Re: Criar alerta no excel com VBA

Enviado: 20 Abr 2018 às 14:18
por osvaldomp
Dmorais escreveu: Eu nao tou a limpar celulas simultanemante, mas sim celulas isoladas.
Você mesclou células e ao selecionar células mescladas o Excel considera multi seleção de células, e não seleção de células isoladas, por isso ocorre o erro.
Se você selecionar qualquer célula não mesclada (da coluna F , por exemplo) e apertar Delete, o erro não ocorrerá.

O comando que eu sugeri por último deve resolver isso, porém eu não fui claro quanto à posição que ele deve ser colocado no código. Coloque o comando logo abaixo do nome do código (como está no meu post) e não ao final do código como você colocou.

Criar alerta no excel com VBA

Enviado: 03 Mai 2018 às 13:58
por Dmorais
Osvaldo! Muito obrigada :)