Excel VBA - Formatação de data
Enviado: 09 Set 2019 às 22:54
Boa noite amigos,
Preciso do apoio de vcs para corrigir o código abaixo, pois quando vou digitar a data no formulário, só consigo digitar um número.
Preciso do apoio de vcs para corrigir o código abaixo, pois quando vou digitar a data no formulário, só consigo digitar um número.
Código: Selecionar todos
Public Function FormataValidaData(ByVal KeyAscii As MSForms.ReturnInteger, TEXTO As String) As String
Select Case KeyAscii
Case 8, 48 To 57
If Len(TEXTO) = 10 Then KeyAscii = 0
Dim dia As Integer
If Len(TEXTO) = 2 Then
dia = TEXTO
If dia > 31 Then
MsgBox "Dia inválido!"
KeyAscii = 0
TEXTO = ""
Exit Function
End If
End If
Dim MES As String
MES = TEXTO
If MES <> "" Then
MES = Mid(MES, 4, 2)
If MES <> "" Then
If MES > 12 Then
MsgBox "Mês inválido!"
KeyAscii = 0
TEXTO = ""
Exit Function
End If
dia = Mid(TEXTO, 1, 2)
If MES = 2 And dia > 29 Then
MsgBox "Mês e dia inválidos!"
KeyAscii = 0
TEXTO = ""
Exit Function
End If
End If
End If
If Len(TEXTO) = 2 Then TEXTO = TEXTO & "/"
If Len(TEXTO) = 5 Then TEXTO = TEXTO & "/"
Case Else
KeyAscii = 0
End Select
DATA = TEXTO
End Function