VBA Validando e Formatando TextBox como Data
Olá queridos leitores!
Alguma vez precisou inserir um TextBox no seu Form e este campo deveria ser data e seu cliente insere uma data invalida e bagunça toda sua base?
Bem, então que tal validar este campo como data e impedir inserção de data inválida.
- No seu formulário insira um TextBox;
-
Dê dois cliques no TextBox para inserir um comando e insira o código como no exemplo abaixo a função KeyPress é executada enquanto você digita qualquer coisa no campo ou quando preciona qualquer tecla;
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
TextBox1.MaxLength = 10 ‘Permite digitar no máximo 10 caracteres
Select Case KeyAscii
Case 8 ‘Aceita o BACK SPACE
Case 13: SendKeys “{TAB}” ‘Emula o TAB
Case 48 To 57
If TextBox1.SelStart = 2 Then TextBox1.SelText = “/” ‘insere barra ao digitar dia
If TextBox1.SelStart = 5 Then TextBox1.SelText = “/” ‘insere barra ao digitar mes
Case Else: KeyAscii = 0 ‘Ignora os outros caracteres
End Select
End Sub
-
O próximo passo é validar a data para que esta seja uma data valida, evitando por exemplo que o cliente ou usuário digite 30/02/2017. A função exit é executada quando o foco sai do campo;
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox1) And TextBox1 <> “” Then ‘valida data
MsgBox “data inválida”
TextBox1 = “”
Cancel = True
End If
End Sub
Pronto, agora você não terá mais problemas com data invalida na sua base de dados.Lembrando que você pode alterar o nome do campo na propriedade Name do seu TextBox, assim fica mais fácil identificar seu campo quando seu código estiver bem extenso.
Gostou desta super dica? que tal contribuir para nos ajudar a continuar postando dicas interessantes:
Comentários