Hola a toda mi linda gente de Perú, en especial a Gustavo que es mi fan #1 (Ya que sus publicaciones son muy ‘similares’ a las mías).
Hoy les traigo la cuarta versión de la aplicación de Consulta DNI RENIEC descargar GRATIS

En anteriores publicaciones les he hablado sobre cómo realizar de diferentes formas consultas a la pagina de RENIEC LEER PUBLICACIÓN
Menciono que ésta es la cuarta versión del aplicativo, porque ha tenido variaciones en el tiempo, y si en caso las fuentes de consulta que tenemos cambian, esta publicación también lo hará
La aplicación que crearemos nos permitirá obtener los siguientes campos
- Apellido Paterno
- Apellido Materno
- Nombre
- Fecha de nacimiento
- Sexo
- Código de verificación
A continuación explicaré cómo crear esta macro
Puedes descargar éste y todos los archivos de mis publicaciones desde Repositorio Tutoriales Excel, la contraseña de todos los archivos es tutorialesexcel.com
M4ster VBA
Paso #1: Encontrar la web de consulta
Lo primero que tenemos que ubicar es una web a donde podamos conectarnos
En este caso, por recomendación de mi colega Jesús Pravia, nos conectaremos a https://www.facturacionelectronica.us
Este programa es completamente gratis al igual que muchas de mis aplicaciones
Esperemos no nos cierren la web de consulta esta vez jeje, las anteriores webs a donde nos hemos conectado han sido
- JNE – http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=XXXXXXXX
- RENIEC – http://clientes.reniec.gob.pe/padronElectoral2012/padronPEMDistrito.htm
Paso #2: Crear procedimiento que obtenga la información de DNI RENIEC
Muy bien, programemos! Primero crearé seis variables y un pequeño y poderoso procedimiento
Dim apep$, apem$, nom$, fnac$, sexo$, codval As Byte Sub ConsultaIndividual(DNI$) Dim Respuesta$, web$, enviado$, Solicitud As Object Set Solicitud = CreateObject("winhttp.winhttprequest.5.1") web = "https://www.facturacionelectronica.us/facturacion/controller/ws_consulta_rucdni_v2.php?documento=DNI&usuario=10447915125&password=985511933&nro_documento=" & DNI enviado = "" Solicitud.Open "GET", web, False Solicitud.setrequestheader "Content-type", "application/x-www-form-urlencoded" Solicitud.send (enviado) Respuesta = Solicitud.responsetext nom = limpiarRespuesta(Respuesta, "Nombre", "Paterno") apep = limpiarRespuesta(Respuesta, "Paterno", "Materno") apem = limpiarRespuesta(Respuesta, "Materno", "FechaNac") fnac = limpiarRespuesta(Respuesta, "FechaNac", "Sexo") sexo = limpiarRespuesta(Respuesta, "Sexo", "distrito") Dim suma As Integer, resto As Integer, complemento As Byte suma = 5 + Val(Mid(DNI, 1, 1)) * 3 + Val(Mid(DNI, 2, 1)) * 2 + Val(Mid(DNI, 3, 1)) * 7 + Val(Mid(DNI, 4, 1)) * 6 + Val(Mid(DNI, 5, 1)) * 5 + Val(Mid(DNI, 6, 1)) * 4 + Val(Mid(DNI, 7, 1)) * 3 + Val(Mid(DNI, 8, 1)) * 2 resto = suma Mod 11 codval = IIf(resto = 1, 0, Val(Left(11 - resto, 1))) End Sub
Para que mi hermoso código funcione, necesitaremos un código de limpieza de respuesta, el cual será ejecutado por la siguiente función
Function limpiarRespuesta(Resp As String, pi As String, pf As String) As String Dim devu$, posi%, posf% posi = InStr(Resp, pi) + Len(pi) + 1 posf = InStr(Resp, pf) - 1 devu = Mid(Resp, posi, posf - posi) devu = Replace(devu, ":", "") devu = Replace(devu, ",", "") devu = Replace(devu, Chr(34), "") devu = Replace(devu, Chr(10), "") devu = Replace(devu, Chr(13), "") devu = Replace(devu, Chr(92), "") devu = Application.WorksheetFunction.Trim(devu) limpiarRespuesta = devu End Function
De esta forma asigno el valor correspondiente se asignará a cada variable
Paso #3: Realizar una consulta individual utilizando el procedimiento creado
Muy bien ya vamos a poder realizar una Consulta DNI RENIEC descargar desde Excel
Crearé una hoja y le asignaré el nombre Individual (Name: wIndividual)

Y usaremos el siguiente código para realizar la consulta individual
Sub EjecutarIndividual() With wIndividual If .Range("D4") = Empty Or Len(.Range("D4")) <> 8 Then MsgBox "Error en el DNI", vbInformation, "TutorialesExcel.com" Exit Sub End If ConsultaIndividual .Range("D4") .Range("D6") = nom .Range("D7") = apep .Range("D8") = apem .Range("D9") = fnac .Range("D10") = sexo .Range("D11") = codval End With End Sub
Y un pequeño código de limpieza
Sub LimpiarIndividual() wIndividual.Range("D6", "D11") = Empty End Sub
Paso #4: Realizar una consulta DNI RENIEC masiva utilizando el código del paso #1
De manera similar al paso#2 crearé una hoja y le asignaré el nombre Masivo (Name: wMasivo)

Con el siguiente código de consulta masiva
Sub EjecutarMasiva() Dim i%, n% With wMasivo n = .Range("A1").CurrentRegion.Rows.Count For i = 2 To n Application.StatusBar = "Consultando " & i - 1 & " de " & n - 1 ConsultaIndividual .Range("A" & i) .Range("B" & i) = nom: .Range("C" & i) = apep: .Range("D" & i) = apem: .Range("E" & i) = fnac: .Range("F" & i) = sexo: .Range("G" & i) = codval apep = Empty: apem = Empty: nom = Empty: cod = Empty Next End With Application.StatusBar = Empty MsgBox "Proceso terminado", vbInformation, "Tutoriales Excel" End Sub
y el código de limpieza correspondiente
Sub LimpiarMasiva() Dim n% With wMasivo n = .Range("A1").CurrentRegion.Rows.Count If n > 1 Then .Range("A2", "G" & n) = Empty End If End With End Sub
Para descargar el aplicativo gratis, puedes dar click en el siguiente enlace

No olvides suscribirte en nuestra cuenta de Youtube y unirte a nuestro grupo de Whatsapp
Excelente Aporte. compañero me gustaria saber si es factible añadir si la persona es fallecida o fecha de fallecimiento
Gracias por el aporte. Consulta en tu curso de Udemy enseñas hacer estás búsquedas. Me interesa los cursos por favor envíame información. rafohugo@gmail.com
Hola Luis. Muchas gracias por tus aportes realmente son super buenos!
Queria saber si tienes otra web de consulta por que la pagina con el que publicaste el codigo creo que se cayo. Ya no funciona. Muchas gracias por tu respuesta
Gracias por el aporte.
Hola, ya no funciona el archivo desde hace un par de semanas.
Habrá una aplicación para la buscar los datos personales ?
Hola Nora, los Excel que publico se conectan a fuentes webs en su mayoría, si necesitas datos personales como firma, foto, ubigeo, estatura, etc. puedes solicitar acceso a RENIEC
Como lo hago
Amigo, una excelente aplicacion, si tienes necesidad de algun apoyo puedes contactarme, henzogm@gmail.com, a este macro excel se le puede incluir el validador de si esta vivo o fallecido?, ejm para instituciones publi9cas con gran nuemero de trabajadores y por el tema de la pandemia a veces es necesario validar si aun viven o no por el tema del SIAF en el girado que no te permite el giro si los DNI registran como fallecidos, saludos
Sí entiendo, la única web confiable para saber si una persona es fallecida o no es RENIEC
Muchas gracias por compartir estimado.! Una consulta… cuando realizo la consulta masiva no aparece la fecha de nacimiento ni el sexo. es algun error? 🙁 muchas gracias.!!
La web de la cual se hacen las consultas, muestra esos datos para algunos número de DNI, para otros solo nombres y apellidos
Seguiré buscando alguna web mejor
Tendra o podria recomendar algun curso para realizar las diversas consultas a internet a través de vba
Será el próximo curso a realizarse 🙂
Excelente aporte !!!
Buenos Días Ingeniero, la macro dejo de funcionar otra vez.Le envíe un correo , si fuera amable de enviármelo sería de gran ayuda.
Hola Angie, sí parece que le dieron de baja a la web donde me conectaba, voy a crear otro código para poder desarrollar la versión 4, espero no demorar mucho
Si necesitas urgente una aplicación de consulta de DNI puedes descargar la que se encuentra en el paquete gratuito de mi curso online https://www.udemy.com/course/tutorialesexcel_curso_excel_vba_nivel1/?referralCode=6B6593CADBE23EA13408
Es muy rápida, ayer corrí más de 3000 registros en pocos minutos
Estaré a la espera que pueda acceder a una nueva versión.Gracias por su aporte.
Ing, saludar y felicitar por su gran aporte, si por ahora efectivamente la macro sale un error, podría brindarme alguna otra ayuda para concluir con consulta masiva de DNI, muchas gracias
Hola Virgilio, gracias por tus palabras, aún estoy buscando una web para hacer la consulta
Estoy un poco corto de tiempo estos días, si necesitas un aplicativo de consulta masiva DNI rápido y seguro desde Excel puedes descargarlo desde mi curso virtual https://www.udemy.com/course/tutorialesexcel_curso_excel_vba_nivel1/?referralCode=6B6593CADBE23EA13408
Gran aporte en verdad Luis! Te deseo lo mejor! Gracias.
Excelente aporte, estoy usando el aplicativo pero me lanza un error y no logra hacer ninguna consulta lanzando error en la linea Solicitud.send (enviado) de la macro. gracias.
Hola Fer, sí parece que le dieron de baja a la web donde me conectaba, voy a crear otro código para poder desarrollar la versión 4, en la próxima semana ya debo tenerla desarrollada
Si necesitas urgente una aplicación de consulta de DNI puedes descargar la que se encuentra en el paquete gratuito de mi curso online https://www.udemy.com/course/tutorialesexcel_curso_excel_vba_nivel1/?referralCode=6B6593CADBE23EA13408
Hola Jorge, muchas gracias por el aporte. He descargado hoy la versión 3 y me sale «Se ha producido un error ‘-2147012894 (80072ee2)’ en tiempo de operación» cada vez que corro la macro.
Muchas gracias de antemano
Hola Miguel, gracias por tu comentario, la fuente a la que me conectaba se ha dado de baja, voy a buscar otra fuente y actualizaré este útil aplicativo
Hola, excelente aporte, pero cuando le doy en consulta masiva sale un error en la linea de Solicitud.send (enviado), que sera? gracias.
No funciona, demora bastante y nada. Eso si funciono unos dias, pero despues. Nada de nada.
Hola, la web de consulta fue dada de baja, esto sucede cuando se realiza un cambio en el código web
Buscaré otra fuente para poder realizar las consultas
Muchas gracias, esperamos que se logre ubicar otra solucion. Buen trabajo. Particularmente si lo use como un mes.
Profesor, ya esta operativo nuevamente la pagina de RENIEC, lo acabo de verificar. Saludos.
Eres un maestrazo!
Solo una consulta y esperare respuesta pacientemente: En el futuro, los que nazcan después de la creación del Excel y el Macro, saldrán también? O solo hasta cierta fecha? Espero se entienda mi pregunta. Abrazos cordialesl.
quisiera adaptarlo a visual studio vb.net
Hola, me podrias explicar paso por paso, lo descargo pero no funciona.
Hola Isaac, la explicación del código se encuentra en el blog, descarga la versión 3 desde https://drive.google.com/file/d/1yq8bNuXPkuPwuApOU2bIVgRITxMWj5MU/view
Habia una version anterior, ya ha dejado de estar disponible?, mostraba donde votó el dni consultado.
Correcto Jaime, la versión dos ha sido suspendida porque la web de consulta eliminó su desarrollo, ahora la aplicación se conecta a una nueva web
ok, Gracias por contestar.
AMIGO NO FUNCIONA LA MACRO, SE CAYÓ LA PLATAFORMA. PUEDES SUBIR UNO NUEVO PORFAVOR
La página de consulta dejó de funcionar, ahora me he conectado a otra web, descarga el nuevo archivo por favor
Hola tienes alguna forma de consultar el DNI pero teniendo el nombre, y de una forma masiva?.
Busco alguien que me haga ese trabajo automatizado
Buenos Días Ingeniero, no he podido realizar la consulta masiva porque dejo de funcionar.
Sería de gran ayuda si tiene una actualizada.
Gracias por su atención.
Actualiza y descarga la nueva versión por favor, la web de consulta ha cambiado
y en php como sería?
El PHP scrapea la web de RENIEC, no puedo compartir el código PHP porque mostraría la web a la que se conecta y podrían cerrarla
Como puedo ver mi dni ambas caras
Usa la App de Reniec, te piden una validación de rostro
Muchas gracias por la ayuda!
De nada José, hay que compartir conocimiento siempre 🙂
Muchas gracias por el gran aporte que brindas a los usuarios. Me sirve mucho como apoyo masivo. Genial !
Una consulta, la actualizacion del mes de octubre no me permite generar bsuqueda, me sale error en las macros y en el tiempo de respuesta. Gracias, quedo atento a tus comentarios.
Hola Giovanni, gracias por tu comentario, el archivo hace una conexión a mi web http://luisrojas.hol.es/2ren/tutorialesexcel.php, por favor verifica si tienes acceso a esa web, podría ser que tu antivirus este bloqueando la comunicación
Estimado, podrías confirmarme si existe alguna versión que brinde los apellidos separados, o en su defecto si se podría hacer ese ajuste, cual sería el precio? 🙂 Gracias por los contenidos, son muy educativos.
Hola Julio, en vista que hay bastante demanda por este tema, he creado una nueva publicación https://tutorialesexcel.com/descargas/consulta-dni-reniec-excel/ en detallo el funcionamiento del aplicativo consulta DNI de pago
Gracias por publicar este aplicativo de VBA EXCEL, tu explicacion es general ya que se entiende que es para expertos, yo como PRINCIPIANTE en vba, veo lo potente que es la programacion en vba excel y me despiarta mas interes, gracias por compartir tus conocimientos.
Hola Johnny gracias por seguir el blog
Hago publicaciones de diferente nivel, pero me gusta más el VBA en web
Si te interesa voy a dictar un curso de VBA presencial en Lima Perú, puedo pedir que te envíen informes
Por favor me podrias enviar informes. gracias
Hola Jorge, hay una versión de paga que puedes revisar en el siguiente enlace https://tutorialesexcel.com/wp-content/hostinger-page-cache/descargas/consulta-dni-reniec-excel/_index.html, el video del funcionamiento lo puedes ver en https://www.youtube.com/watch?v=xBK6Nnfm-yA&feature=youtu.be