Macro excel

Hola, necesito ayuda para crear una macro que sustituya el DNI introducido en la celda (########) por el NIF correspondiente con el siguiente formato: ##.###.###-@
Conozco la fórmula de excel para el calculo del NIF, pero no puedo evitar con ella una referencia cruzada por lo que supongo que procede una macro que se ejecute al salir de la celda. Gracias anticipadas...(te agradecería me mandaras ese tan famoso manual de macros, del que tanta gente habla y tanto alaga). Un afectuoso saludo desde Sevilla.

1 respuesta

Respuesta
1
He enviado a tu cuenta un archivo de muestra que incluye la rutina que convierte un documento a NIF y el manual de macros solicitado.
Espero que te sean útiles.
Un abrazo!
Fernando
Hola Fernando,
Ante todo gracias por tu atención y perdona mi torpeza. En excel la fórmula que calcula la letra es:
=("TRWAGMYFPDXBNJZSQVHLCKEF";1+RESIDUO(B4;23);1)
teniendo en B4 el nº de DNI (Documento nacional de identidad).
En VB la formula que calcula la letra es:
LetraNIF.Value = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (DNI.Value Mod 23) + 1, 1) , siendo LetraNIF (@ que te puse despues del guion), la variable de la letra del NIF y DNI el control que almacena el nº de DNI.
Mi dirección de e-mail es: [email protected]
Gracias de nuevo y hasta pronto.
Usualmente, suelo resolver este problema con un una función personalizada (UDF) en Visual Basic que permita la conversión en un solo paso.
Tal función separa cifra por cifra el número de DNI y lo afecta por un factor luego suma todo y puede que tenga que hacer alguna conversión final.
Sin embargo cada país tiene su método de cálculo.
Necesitaría, entonces, que me indiques el algoritmo de cálculo que usan allá.
(y, además qué significa aquella @ al final del NIF).
---
Respecto al manual de macro, con gusto te lo enviaré. Pero necesito que me digas alguna dirección de e-mail para que pueda hacerlo.
Espero tus datos, para poder satisfacer tus dos consultas.
Un abrazo!
Fernando
Gracias por todo y perdona el retraso pero Todoexpertos ha debido estar en mantenimiento y no me permitía ver "Mi Todoexpertos". Aun todavía no consigo leer bien todas mis respuestas.Muy grande tu ayuda. GRACIAS.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas