He hecho el ejercicio 2 y funciona bien pero tengo 2 dudas:
1-como se hace lo de la fecha
2-como se hace para rellenar con 0\\\\\\\'s
aquí te pongo mi código(no se pasa que aparecen barras por todas partes(pero la sintaxis está bien))
Function Comprobar() As Boolean
Dim guion As String, espacio As String, contenido As String
Dim SinGuionSinEsp As Boolean
\\\'guardamos en las variables si existen o guiones o espacios
\\\\\\\'si es distinto de 0 es que SI existe(el numero nos dice la posicion)
guion = InStr(txttlf.Text, \\\"-\\\")
espacio = InStr(txttlf.Text, \\\" \\\")
\\\'en la variable SinNumSinEsp decimos si tienen o guiones o espacios
If guion = 0 And espacio = 0 Then
SinGuionSinEsp = True
Else
SinGuionSinEsp = False
End If
\\\'si no tiene ni guiones ni espacios comprobamos si es numerico
If SinNumSinEsp = True Then
If IsNumeric(txttlf.Text) = True Then
Comprobar = True
Else
MsgBox \\\"en telefono solo pueden ir max 12 caracteres numericos. TAmbien se admiten - y espacio\\\"
End If
Else
\\\'si no es numerico guardamos en una variable nueva la cadena sin espacios ni guiones(para que funcione el isnumeric)
On Error Resume Next
contenido = Replace(txttlf.Text,\\\"-\\\", \\\"\\\")
On Error Resume Next
contenido = Replace(contenido, txttlf.Text, \\\" \\\", \\\"\\\")
If IsNumeric(contenido) = True Then
Comprobar = True
Else
MsgBox \\\"en telefono solo pueden ir max 12 caracteres numericos. TAmbien se admiten - y espacio\\\"
End If
End If
End Function
Private Sub cmdAceptar_Click()
Dim comprobacion As Boolean
If Len(txtNombre.Text) <= 50 And Len(txtApe1.Text) <= 50 And Len(txtApe2.Text) <= 50 Then
If Len(txtDireccion.Text) <= 50 Then
If Len(txtPobla.Text) <= 20 Then
If IsNumeric(txtCodPostal.Text) = True And Len(txtCodPostal.Text) = 5 Then
comprobacion = Comprobar
If comprobacion = True Then
If txtFNa.Text Like \\\"##-##-####\\\" Then \\\'esto no está del todo bien porque lo del año bisiesto no se como va
If txtDni.Text Like \\\"########-[A-Z]\\\" Then \\\'8 numeros,guion y una letra entre la A y la Z(mayusculas)
If txtCuenta.Text Like \\\"####-####-##-##########\\\" Then MsgBox \\\"DATOS CORRECTOS\\\"
Else
MsgBox \\\"DNI: 8 Numeros, guion y letra en MAYUSCULAS\\\"
End If
Else
MsgBox \\\"LA FECHA tiene que tener el fomato dd-mm-aaaa\\\"
End If
End If
Else
MsgBox \\\"Cod Postal 5 numeros\\\"
End If
Else
MsgBox \\\"poblacion max 20 caracteres\\\"
End If
Else
MsgBox \\\"dIRECCION TIENE QUE TENER MAX 50 caracteres\\\"
End If
Else
MsgBox \\\"Nombre,Apellido1 y Apellido2 tienen que tener max 50 caracteres\\\"
End If
End Sub