Programação VBA Excel

Responder
Avatar do Utilizador
joaoosvaldo
Team Apoio
Team Apoio
Mensagens: 3378
Registado: 24 out 2008, 15:06
Localização: Norte
Enviou: 18 vezes
Agradecimento recebido: 34 vezes

Programação VBA Excel

Mensagem por joaoosvaldo »

Boas.

Alguém que tenha mais experiência em programação em VBA no Excel sabe como fazer aparecer uma mensagem de erro sempre que determinadas condições não se verifiquem? Já consegui fazer com que a mensagem apareça mas esta não aparece sempre porque como esta operação está no meio de um programa maior e a execução é linha a linha se fizer tudo linearmente a mensagem aparece sem problemas mas se depois de executar a função voltar a fazer o mesmo erro a mensagem já não aparece! A ideia seria esta mensagem de erro estar em permanente "vigilância" e aparecer quando as condições não se verificarem!

O que tenho para já é o seguinte:

If ((Range("D14") > 0) And (Range("D18") = 1)) Then

MsgBox "aqui escrevo a mensagem de erro", vbCritical

End If


Alguém sabe como fazer? Obrigado.


Cumprimentos,

João Osvaldo Sousa


Email: [email protected]
Avatar do Utilizador
admin
Admin
Admin
Mensagens: 4660
Registado: 02 set 2006, 13:05
Localização: Algarve
Enviou: 106 vezes
Agradecimento recebido: 139 vezes
Contacto:

Re: Programação VBA Excel

Mensagem por admin »

Continue a participar activamente.
A sua colaboração é fundamental para existência do fórum
Avatar do Utilizador
admin
Admin
Admin
Mensagens: 4660
Registado: 02 set 2006, 13:05
Localização: Algarve
Enviou: 106 vezes
Agradecimento recebido: 139 vezes
Contacto:

Re: Programação VBA Excel

Mensagem por admin »

Continue a participar activamente.
A sua colaboração é fundamental para existência do fórum
J_msc
Curioso
Curioso
Mensagens: 12
Registado: 12 jun 2017, 11:07
Localização: Almada
Enviou: 1 vez
Agradecimento recebido: 1 vez

Re: Programação VBA Excel

Mensagem por J_msc »

Boa noite,

Eu quando precisei de algumas dicas sobre VBA fui ao YouTube e descobri este professor, https://m.youtube.com/user/LopesJhonny, e ajudou bastante.

Espero que consiga resolver esse problema.

Cumprimentos
José
Avatar do Utilizador
LVirtual
Electricista de 1ª
Electricista de 1ª
Mensagens: 390
Registado: 23 fev 2017, 23:30
Localização: Carcavelos
Enviou: 83 vezes
Agradecimento recebido: 49 vezes
Contacto:

Re: Programação VBA Excel

Mensagem por LVirtual »

joaoosvaldo Escreveu: 25 jun 2013, 21:26
If ((Range("D14") > 0) And (Range("D18") = 1)) Then

MsgBox "aqui escrevo a mensagem de erro", vbCritical

End If

Se é para executar isso de forma automatica atraves do codigo VBA, tens que ter essa rotina no evento SelectionChange da propria folha que queres verificar.
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ((Range("D14") > 0) And (Range("D18") = 1)) Then
MsgBox "aqui escrevo a mensagem de erro", vbCritical
End If
End Sub
ha uma formula no excel que serve para verificar se o resultado de uma operaçao é erro e que retorna aquilo que quisermos em formato texto ou outro.
chama-se IFERROR(value, value_if_error) parta quem usa o vba em ingles ou entao em portugues é SE.ERRO(valor, valor_se_erro)

no campo do valor_se_erro, podes por logo a formula para criar a msgbox ou fazer aparecer qualquer valor numa determinada celula ou ate mesmo manter a celula em branco.

ou entao tambem podes usar a formula SE(valor,valor_se_verdadeiro;valor_se_falso) nesta forma:
"=SE(D14>0;SE(D14*D18=D14;"mensagem de alerta";FALSO);FALSO)"
Silvio Santos - http://www.s-tronika.com
Responder

Voltar para “Discussão Informática”