Notifications
Clear all

SetFocus dúvida.

2 Posts
2 Usuários
0 Reactions
1,067 Visualizações
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Boa tarde pessoal.

Copiei um código na internet como sempre, e estou tentando adaptar em outra planilha.

Numa userform, eu quero que o VBA não execute se o usuário não digitar ou selecionar na ComboBox e no TextBox

'       Verifica se o mês foi digitado.
If ComboBox1 = "" Then
MsgBox "Digite o mês do fechamento !"
Exit Sub
ComboBox1.SetFocus
Else

'       Verifica se o ano foi digitado.
If TextBox1 = "" Then
MsgBox "Digite o ano do fechamento !"
Exit Sub
TextBox1.SetFocus
End If
End If

No código acima, se a ComboBox estiver vazio, o correto não seria após clicar no botão para executar que apresente a mensagem "Digite o mês do fechamento !" e selecionar automaticamente a ComboBox ?

Pois no meu arquivo ainda fica selecionado o botão!

O SetFocus não serve para retornar onde ocorreu o erro ?

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 23/11/2015 11:46 am
selmo
(@selmo)
Posts: 236
Estimable Member
 

Você colocou o Setfocus após a tag de finalização de código, basta alterar ele para ser executado após o MsgBox que está resolvido, assim

'       Verifica se o mês foi digitado.
If ComboBox1 = "" Then
MsgBox "Digite o mês do fechamento !"
ComboBox1.SetFocus
Exit Sub
Else

'       Verifica se o ano foi digitado.
If TextBox1 = "" Then
MsgBox "Digite o ano do fechamento !"
TextBox1.SetFocus
Exit Sub
End If
End If

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original."
Albert Einstein

 
Postado : 23/11/2015 11:53 am