Controlar la toma del DNI en un TextBox

El dni en España tiene 9 dígitos seguidos de una letra.
Necesito una función parecida a esta:
=si(ESNUMERO(VALOR(IZQUIERDA(A1)));A1;extrae(A1;2;100)&izquierda(A1;1))
Pero en VBA, es decir, el código que sirva para controlar lo que el usuario haya introducido en el TextBox que corresponda al DNI.
Gracias por tu atención

1 Respuesta

Respuesta
1
Cada una de las funciones tienen un equivalente en VBA
esnumero = IsNumeric(...)
valor = Val(...)
izquierda = Left(...)
Extrae = Mid(...)
Muchas gracias por tu respuesta: lo estudiaré con detenimiento.
Por cierto, ¿hay algún documento donde pueda ver la equivalencia de todas las fórmulas disponibles en Excel y sus equivalentes en VBA?
Podrías tener algo como esto
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1.Text) <> 10 Then
 MsgBox "El DNI debe tener 9 dígitos y una letra", vbOKOnly, "Error"
 Cancel = True
ElseIf Not (IsNumeric(Val(Left(TextBox1.Text, 9)))) Then
 MsgBox "Los primeros 9 caracteres deben ser números", vbOKOnly, "Error"
 Cancel = True
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas