VERIFICAR MES
Estou tentando verificar se o mês só tem 30 dias, e caso fosse digitado 31 ele me informaria com uma MsgBox, este é o codigo que estou tentando fazer mas me gera um error:
Private Sub txtnascimento_Change()
If Len(txtnascimento) = 2 Then
txtnascimento = txtnascimento & "/"
txtnascimento.SelStart = 4
End If
If Len(txtnascimento) = 5 Then
txtnascimento = txtnascimento & "/"
txtnascimento.SelStart = 7
End If
If Len(txtnascimento) = 8 Then
txtnascimento = Format(txtnascimento, "dd/mm/yyyy")
End If
Dim data
data = CDate(txtnascimento)
If Month(data) = 2 Or Month(data) = 4 Or Month(data) = 6 Or Month(data) = 9 Or Month(data) = 11 And Day(data) = 31 Then
MsgBox "O mês digitado não possui 31 dias", vbInformation, " Atenção!"
txtnascimento.Text = ""
txtnascimento.SetFocus
End If
End Sub
Private Sub txtnascimento_Change()
If Len(txtnascimento) = 2 Then
txtnascimento = txtnascimento & "/"
txtnascimento.SelStart = 4
End If
If Len(txtnascimento) = 5 Then
txtnascimento = txtnascimento & "/"
txtnascimento.SelStart = 7
End If
If Len(txtnascimento) = 8 Then
txtnascimento = Format(txtnascimento, "dd/mm/yyyy")
End If
Dim data
data = CDate(txtnascimento)
If Month(data) = 2 Or Month(data) = 4 Or Month(data) = 6 Or Month(data) = 9 Or Month(data) = 11 And Day(data) = 31 Then
MsgBox "O mês digitado não possui 31 dias", vbInformation, " Atenção!"
txtnascimento.Text = ""
txtnascimento.SetFocus
End If
End Sub
tente com um select case
Select Case Month(Data)
Case 2, 4, 6, 9, 11
msgbox "mes invalido"
end select
não testei, mas deve resolver
Select Case Month(Data)
Case 2, 4, 6, 9, 11
msgbox "mes invalido"
end select
não testei, mas deve resolver
não esqueça de identar seus codigos [S50]
Faça
If not Isdate(TextBox.text) then
msgbox "Data inválida"
end if
Ele dá erro porque se vc por exemplo coloca data como: 31/02/2005 e quando vc dá o comando de convercao CDate a data é inválida entao dá Type Mismatch...
é melhor vc usar as dicas dos colegas WILIAM E PAGANINI.
é melhor vc usar as dicas dos colegas WILIAM E PAGANINI.
complementando a do flavio, que claro, é a mais simples e eficaz.
if not isdate(format(textbox.tex,"dd/mm/yyyy"))
if not isdate(format(textbox.tex,"dd/mm/yyyy"))
Wiliam
PÃ 'xa, o Novato Paganini tirou o Coelho da Cartola! Ah, ah, ah.......
[S98]
PÃ 'xa, o Novato Paganini tirou o Coelho da Cartola! Ah, ah, ah.......
[S98]
KPPELLAJR
novato??
novato??
E Complementando, direto recebo mensagens internas de usuários perguntando como validar hora, a função que o amigo FLAVIO PAGANINI postou, também serve para validar hora (15:30:15), data(10/07/2005), ou data hora ao mesmo tempo( 10/07/2005 15:30:15 )
Até mais amigos...
If IsDate(TxtTempo) = False Then
Msgbox "Hora Inválida"
Else
Msgbox "Hora Correta"
End if
Até mais amigos...
Novato não... é o flávio..... o velho flávio.... rsrsrsr
Interessante, mas não consegui entender como usar esta função junto ao meu código...Tipo, até coloquei ela mas ta me gerando uns resultados estranhos...Se digito 31/02/05...Por exemplo mes de Fevereiro com 31 dias ele me gera então..05/02/1931..Estranho..
Tópico encerrado , respostas não são mais permitidas