Hallar letra DNI

Quisiera saber la fórmula para hallar la letra del DNI, en todos los ejemplos que he encontrado no aparece entre las letras a escoger la "I" y la "O"
Respuesta
1
Esto te funciona, siempre que pongas en la celda A1 el numero del DNI y ejecutes la macro. Entonces añade al numero la letra
Si quieres se puede condicionar a que cambie el valor de una celda, o mejor sería crear un inputbox que nos pida el número y así nos devuelva en una celda concreta el numero con su letra con el formato que se desea. Si deseas esta última forma me lo dices y ya te los creo (pero necesito saber en que celda quieres que lo suelte...
Sub Macro1()
DNI = Range("a1")
resto = DNI Mod 23
Select Case resto
Case 0
LETRA = "T"
Case 1
LETRA = "R"
Case 2
LETRA = "W"
Case 3
LETRA = "A"
Case 4
LETRA = "G"
Case 5
LETRA = "M"
Case 6
LETRA = "Y"
Case 7
LETRA = "F"
Case 8
LETRA = "P"
Case 9
LETRA = "D"
Case 10
LETRA = "X"
Case 11
LETRA = "B"
Case 12
LETRA = "N"
Case 13
LETRA = "J"
Case 14
LETRA = "Z"
Case 15
LETRA = "S"
Case 16
LETRA = "Q"
Case 17
LETRA = "V"
Case 18
LETRA = "H"
Case 19
LETRA = "L"
Case 20
LETRA = "C"
Case 21
LETRA = "K"
Case 22
LETRA = "E"
End Select
Range("A1") = Range("A1") & LETRA
End Sub
Dándole vueltas me ha salido ota manera de hacerlo.
Pega esto en el visual basic de la hoja en cuestión y cuando escribas en la celda A1 el número del DNi y pulsas intro, te cambia y añade la letra. Si requieres cambiar la posición de la celda del DNI, solo tienes que cambiar la 2ª fila CeldaDNI=tu posición de celda
Private Sub Worksheet_Change(ByVal Target As Range)
CeldaDNI = "$A$1"
Select Case Target.Address
Case CeldaDNI
DATO = Range(CeldaDNI)
LARGO = Len(DATO)
If LARGO = 8 Then
RESTO = DATO Mod 23
C = Array("T", "R", "W", "A", "G", "M", "Y", "F", "P", "D", "X", "B", "N", "J", "Z", "S", "Q", "V", "H", "L", "C", "K", "E")
Range(CeldaDNI) = Range(CeldaDNI) & " - " & C(RESTO)
End If
End Select
End Sub
Si no te aclaras, me puedes mandar la hoja en cuestión y te la reenvío con la macro colocada..
Gracias por tu ayuda, pero esto no lo sé hacer, además no me responde al hecho de que no se pongan las letras "I" y "O" cuando sí salen en los DNI
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas