Notifications
Clear all

Impedir que o usuário saia de uma textbox vazia

6 Posts
4 Usuários
0 Reactions
1,530 Visualizações
(@japimentel)
Posts: 0
New Member
Topic starter
 

Olá, boa tarde.
Gostaria de saber como faço para impedir que o cursor saia de um textbox até que o usuário o preencha.
Ou seja, considerando o arquivo anexo, para ter acesso ao campo SOLICITANTE o usuário deverá obrigatoriamente preencher o campo ASSUNTO. No evento OnExit uma rotina deverá checar se o campo ASSUNTO está vazio; se estiver, deverá permanecer no campo ASSUNTO até o usuário preenchê-lo.
Sei como impedir, ao clicar no botão salvar, que algum campo fique vazio; mas não é o que quero.
Grato,

José

 
Postado : 08/06/2017 1:06 pm
(@leandroxtr)
Posts: 0
New Member
 

Boa tarde, amigo

como você não postou o anexo, estou mandando este exemplo para você ver se ajuda.

Abraço!

 
Postado : 08/06/2017 2:28 pm
(@mprudencio)
Posts: 0
New Member
 

No evento exit da textbox

if textboxassunto.value = "" then
msgbox"Preencha o Campo Assunto",vbCritical,"Preenchimento Obrigatorio"
textboxassunto.setfocus
end if

 
Postado : 08/06/2017 2:36 pm
(@japimentel)
Posts: 0
New Member
Topic starter
 

Olá, amigo MPrudencio.

Utilizei as instruções que você enviou no evento EXIT da minha cx_assunto mas, mesmo assim, o cursor pula para a próxima caixa.
Eu quero que, em caso de campo vazio, o cursor permaneça na caixa vazia até que o usuário a preencha.
Mais alguma dica?
Segue o código para você avaliar. Com dois cliques no formulário você tem acesso à planilha e ao ambiente do VBA.

 
Postado : 11/06/2017 6:55 am
(@japimentel)
Posts: 0
New Member
Topic starter
 

Amigo leandroxtr, bom dia. Utilizei as orientações que você me enviou mas o cursor não fica focado na caixa assunto.
O que eu desejo é que o usuário só consiga acesso, ao próximo campo, se preencher o campo assunto primeiramente; mesmo que ele tente sair mais de uma vez e deixar o campo assunto vazio.
Estou enviando o código para você dar uma olhada.
Com um clique duplo sobre o formulário você terá acesso à planilha.
Grato,

José.

 
Postado : 11/06/2017 7:06 am
(@fcarlosc)
Posts: 0
New Member
 

Boa-tarde

Tenta assim:

Private Sub cx_assunto_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If cx_assunto.Value = "" Then
        MsgBox "Preencha o Campo Assunto", vbCritical, "Preenchimento Obrigatório"
        Cancel = True
        cx_assunto.SetFocus
    End If
End Sub

Att,

Francisco

 
Postado : 11/06/2017 12:16 pm