estou com um problema com uma TextBox onde devo introduzir uma data.
Tenho duas subs para me validarem a data:
Private Sub DataEntradaTxt_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(DataEntradaTxt) And DataEntradaTxt <> "" Then 'valida Data
MsgBox "Data Inválida"
DataEntradaTxt = ""
Cancel = True
End If
End Sub
Private Sub DataEntradaTxt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
DataEntradaTxt.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 DataEntradaTxt.SelStart = 2 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar dia
If DataEntradaTxt.SelStart = 5 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar mes
Case Else: KeyAscii = 0 'Ignora os outros caracteres
End Select
End Sub
Mas quando introduzo a data de 06-07-2021 ele retoma-me a data de 07-06-2021 que não quero, já tentei formatar com format e "dd-mm-yyy" quando gravo a data na folha do excel, no entanto o problema continua.
Pergunta
DjDaga
Boas,
estou com um problema com uma TextBox onde devo introduzir uma data.
Tenho duas subs para me validarem a data:
Private Sub DataEntradaTxt_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(DataEntradaTxt) And DataEntradaTxt <> "" Then 'valida Data
MsgBox "Data Inválida"
DataEntradaTxt = ""
Cancel = True
End If
End Sub
Private Sub DataEntradaTxt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
DataEntradaTxt.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 DataEntradaTxt.SelStart = 2 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar dia
If DataEntradaTxt.SelStart = 5 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar mes
Case Else: KeyAscii = 0 'Ignora os outros caracteres
End Select
End Sub
Mas quando introduzo a data de 06-07-2021 ele retoma-me a data de 07-06-2021 que não quero, já tentei formatar com format e "dd-mm-yyy" quando gravo a data na folha do excel, no entanto o problema continua.
O que posso fazer para resolver o problema?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.