Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo determinar la edad en el cuadro de texto en VBA?

¿Cómo determinar la edad en el cuadro de texto en VBA?

Cree un nuevo formulario, dibuje un control de cuadro de texto TextBox1 y un control de etiqueta Label1 en él

Luego pruebe el siguiente código:

Private Sub TextBox1_Change()

Dim s$

s = TextBox1.Text

Si s = "" Entonces

Label1.Caption = " "

Else

Dim i, x

x = Len(s)

'Juzga cada posición sin exceder los 18 bits ¿Es correcto un carácter?

Si x lt; = 18 Entonces

'Juzga los caracteres del 1 al 17

Para i = 1 a x

Si i = 18 Then Exit For 'Exit for, la posición 18 se juzgará por separado a continuación

Seleccione Case Mid(s, i, 1)

Caso 0 a 9

Case Else

Label1.Caption = "Los dígitos "ésimo" e i "solo se pueden completar con números del 0 al 9"

Salir de Sub 'antes de Entre los 17 caracteres, si un determinado dígito no es un número, salga de esta línea sub

Finalizar selección

Siguiente

'Juzga el carácter número 18

Si x = 18 entonces

Seleccione Caso medio(s, 18, 1)

Caso 0 a 9, "x", "X"

Case Else

Label1.Caption = "El dígito 18 sólo se puede completar con 0-9, x, X"

Exit Sub 'El dígito 18, si no es un número o x o X, Salir del sub de esta línea

Finalizar selección

Finalizar si

Finalizar si

'Juicio de dígitos

Seleccione Caso x

El caso es lt; 18

Label1.Caption = "Menos de 18 dígitos (actualmente " amp; gt; 18

Label1.Caption = "Excediendo 18 bits (actualmente " & x & " bits)"

Caso más

En caso de error Ir a xxx 'Saltar a la posición especificada cuando se produce un error

Atenuado y, m, d

>

y = Val(Mid(s, 7, 4)) 'Año de cumpleaños

m = Val(Mid(s, 11, 2)) 'Mes de cumpleaños

d = Val(Mid(s, 13, 2)) 'Fecha de cumpleaños

x = Año(Fecha) - y - (DateSerial(Año(Fecha), m, d) lt; Fecha) ' Calcular un año

If Val(Mid(s, 17, 1)) Mod 2 Then

Label1.Caption = x amp "Un año, hombre" 'Si el 17 dígito es un número impar, entonces es un hombre

Else

Label1.Caption = x amp "Mujer de un año" 'Si el dígito 17 es un número par, es una mujer

End If

End Select

End If

Exit Sub 'Finaliza el programa desde esta línea si hay sin excepción

xxx:

Label1.Caption = "¡Hay un error en el cumpleaños!" 'Si hay un error al extraer el cumpleaños, saltará directamente a esta línea .

Fin del subtítulo