Para validar email usa esta funcion
Public Function Es_EMail(ByVal femail As String) As Boolean
femail = LCase(Trim(femail))
Largo = Len(femail)
estado = 1
posicion = 0
Es_EMail = True
While Not estado = 0 And posicion < Largo
    posicion = posicion + 1
    caracter = Mid(femail, posicion, 1)
    Select Case estado
        Case 1:
            Select Case caracter
                Case "a" To "z": estado = 1
                Case "_", ".": estado = 2
                Case "@": estado = 3
                Case Else
                    estado = 0
            End Select
        Case 2:
            Select Case caracter
                Case "a" To "z": estado = 2
                Case "_", ".": estado = 1
                Case "@": estado = 3
                Case Else
                    estado = 0
            End Select
        Case 3:
            Select Case caracter
                Case "a" To "z": estado = 3
                Case "_": estado = 4
                Case ".": estado = 5
                Case Else
                    estado = 0
            End Select
        Case 4:
            Select Case caracter
                Case "a" To "z": estado = 4
                Case "_": estado = 3
                Case ".": estado = 5
                Case Else
                    estado = 0
            End Select
        Case 5:
            Select Case caracter
                Case "a" To "z": estado = 5
                Case "_": estado = 5
                Case ".": estado = 5
                Case Else
                    estado = 0
            End Select
    End Select
Wend
If estado = 0 Then
    Es_EMail = False
Else
    Es_EMail = True
End If
End Function
Para validar fecha, usa la funcion isdate
if IsDate(text1.text) then
   msgbox "Es fecha"
else
  msgbox "No es fecha"
endif