Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Condição se preenchido continue se vazio pare

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Adriano Nogueira
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Ter Jun 26, 2012 11:25 am

Condição se preenchido continue se vazio pare

Mensagem por Adriano Nogueira »

Estou com uma macro que verifica a apresenta uma text Box caso alguma destas células estajam vazias, mas após apresentar o Box a macro prossegue,para o próximo comando
O meu objetivo é: Se caso alguma destas células estiverem em branco a macro não prossegue, mas se preenchida a macro prossegue.
Se for Possível apresentar uma mensagem dizendo que precisa responder ou algo do tipo
Desde já agradeço

“ Application.DisplayAlerts = False
If Range("j17") = "" Or Range("j21") = "" Or Range("j24") = "" Or Range("j28") = "" Or Range("j33") = "" Or Range("j36") = "" Or Range("j38") = "" Or Range("j42") = "" Or Range("j44") = "" Then
If MsgBox("Responda a pergunta em branco" & vbCrLf & _
"", _
vbDefaultButton + vbNo) = vbYes Then Exit Sub
Cancel = True
End If ’’


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Condição se preenchido continue se vazio pare

Mensagem por joseA »

Um norte.

Código: Selecionar todos

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = Range("J17").Address Then
    If (Target.Value = "") Then
            Target.Select
               MsgBox "Favor responder a pergunta em branco!!!", 64, "Questionário"
    End If
    End If
End Sub


Adriano Nogueira
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Ter Jun 26, 2012 11:25 am

Re: Condição se preenchido continue se vazio pare

Mensagem por Adriano Nogueira »

joseA escreveu:Um norte.

Código: Selecionar todos

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = Range("J17").Address Then
    If (Target.Value = "") Then
            Target.Select
               MsgBox "Favor responder a pergunta em branco!!!", 64, "Questionário"
    End If
    End If
End Sub
1 - Mas se for o caso de eu colocar várias células, umas separadas das outras? exemplo J17;J21;J24;J28....
2 - Copiei o comando que foi me passado mas está dando conflito com os comandos já presentes na macro

"Private Sub CommandButton2_Click()
ActiveWorkbook.Save
Range("j17").Select
With Selection.Validation
.Delete..."
Mas parece que estou no caminho certo.
Obrigado!
:D


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Condição se preenchido continue se vazio pare

Mensagem por joseA »

Vc quer isso em um botão?
Editado pela última vez por joseA em Ter Jul 31, 2012 2:13 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Adriano Nogueira
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Ter Jun 26, 2012 11:25 am

Re: Condição se preenchido continue se vazio pare

Mensagem por Adriano Nogueira »

iiiiisso mesmo. Botão de comando Ativex


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Condição se preenchido continue se vazio pare

Mensagem por joseA »

Isso??
:P

Código: Selecionar todos

Private Sub CommandButton1_Click()
If Range("j17") = "" Or Range("j21") = "" Or Range("j24") = "" Or Range("j28") = "" Or Range("j33") = "" Or Range("j36") = "" Or Range("j38") = "" Or Range("j42") = "" Or Range("j44") = "" Then
MsgBox "Favor responder as perguntas em branco!!!", 64, "Questionário"
Exit Sub

End If
MsgBox "Ok, todas perguntas foram respondidas!!!", 64, "Questionário"

End Sub


Avatar do usuário
BaptistaCG
Colaborador
Colaborador
Mensagens: 96
Registrado em: Seg Jul 30, 2012 10:33 pm
Localização: Sorocaba/SP

Re: Condição se preenchido continue se vazio pare

Mensagem por BaptistaCG »

Ae amigo estou com um problema parecido com o seu postei ontem mas até agora ninguém respondeu, mas pelo que você explicou creio que este código sirva no seu caso...

______________________________________________________________________________________________________
Sub validar()
' Aqui você coloca as celulas que quer validar
Range("A1:A10").Select
If IsEmpty(ActiveCell) Then
MsgBox "Você não preencheu todos os campos necessários", vbCritical
Else
' Coloque aqui a rotina que deseja executar se todos os campos que vc determinou acima estiverem preenchidos
Range("C1:C10").Select
End If
End Sub
______________________________________________________________________________________________________

Ah e tipo é melhor você criar um botão de formulário para atribuir este macro no botao e quando clicar, executar a macro...#fik dik

Abraço espero ter ajudado... :D


Adriano Nogueira
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Ter Jun 26, 2012 11:25 am

Re: Condição se preenchido continue se vazio pare

Mensagem por Adriano Nogueira »

O comando que o JoseA me passou está perfeito cara. Muuito bom
Obrigado mesmo. Acabou com o meu problema.
Contarei contigo para quaisque dúvida.
BaptistaCG, copie o comando acima e faça as auterações necessárias que é tiro e queda.
Funcionou legal!


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Condição se preenchido continue se vazio pare

Mensagem por joseA »

Vlw. ;)


Avatar do usuário
BaptistaCG
Colaborador
Colaborador
Mensagens: 96
Registrado em: Seg Jul 30, 2012 10:33 pm
Localização: Sorocaba/SP

Re: Condição se preenchido continue se vazio pare

Mensagem por BaptistaCG »

Ae galera, o cod. do joseA está correto tbm, é a mesma coisa em outra "lingua" rsrs porem é mais extenso, se for usar em muitas celulas vai ser mais trabalhoso editar, e caso seja muito mais celulas tipo uma "100" é melhor você criar um laço ou algo do tipo, mas no meu caso não da certo pois eu preciso que verifique se é maior que "0" (zero) e não se é vazio ou tem conteudo, e pra piorar no meu eu tenho que verificar se existe algo em uma serie de celulas e se "sim" execute uma rotina diferente em cada celula, tipow se de a1 até a20 estiver algo maior que 0 executar a rotina predefinida para aquela celula, deem uma olhada no topico que criei por favor, to quebrando a cabeça e ainda nao resolvi....
o link do topico é: viewtopic.php?f=20&t=2090
Agradeço a ajuda, josea da uma olhada tbm por gentileza.
Valeu galera...


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder