VBA determina si la longitud de varios caracteres de celda (como número de identificación, número de teléfono móvil) en varias tablas cumple con los requisitos e informa los resultados.
Vengan uno por uno. Este es para juzgar la tarjeta de identificación y el número de teléfono móvil. Se los enviarán más tarde. Application.InputBox("Ingrese el número de identificación:")
If?n?=?False?Then
Salir?Sub
ElseIf?n? =?""?Entonces
MsgBox?"No se puede ingresar un valor nulo"
Else
wi?=?Array("7",?"9" ,?"10", ?"5",?"8",?"4",?"2",?"1",?"6",?"3",?"7",?"9" ,?"10", ?"5",?"8",?"4",?"2")
y?=?Array("1",?"0",?" X",?"9",?"8",?"7",?"6",?"5",?"4",?"3",?"2")
Para?h?=? 0?A?16
r?=?Mid(n,?h?+?1,?1)
If?IsNumeric(r)? =?Falso?Entonces
MsgBox?"El ?"?&?h?+?1?&?"?dígito es un carácter ilegal"
Salir?Sub
¿Fin?Si
s?=?s?+?r?*?wi(h)
Siguiente?h
t?= ?s?Mod?11
Si?UCase(Mid(n,?18))?=?y(t)?Entonces
MsgBox?"El número de identificación es correcto"
Else
MsgBox?"El número de identificación es incorrecto"
¿Fin?Si
¿Fin?Si
End?Sub
Esto es Sub?test() para determinar el número de teléfono móvil
Dim?n,?i%,?str
n?= ?Application.InputBox("Ingrese el número de su número de teléfono móvil.",?,?,?,?,?,?,?Type:=1)
If?Len(n)?<> ?11?Entonces
¿MsgBox? "¡El número que ingresaste no es un número de teléfono móvil!"
¿Salir?Sub
Si no
MsgBox?pd(CInt(Left(n,?3)))
Fin?Si
Fin?Sub
Función?pd(ByVal?str ?Como?Entero)
Seleccione?Case? str
Caso?130,?131,?132,?155,?156,?185,?186
pd?=?"El número de teléfono móvil pertenece a China Unicom"
Caso?134,?135,?136,?137,?138,?139,?147,?150,?151 ,?152,?154,?157,?158,?159,?182, ?183,?187,?188
pd?=?"El número de teléfono móvil pertenece a China Mobile" p>
Caso?133,?153,?180,?11,?189 p>
pd?=?"El número de teléfono móvil pertenece a China Telecom"
¿Caso? Else
pd?=?"¡Número ilegal o el operador es temporalmente desconocido! "
¿Fin?Seleccionar
¿Fin?Función