Consulta DNI RENIEC descargar GRATIS (Actualizado Julio 2020)

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)

Consulta DNI RENIEC EXCEL descargar

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)

consulta masiva DNI Reniec

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

Esta entrada tiene 54 comentarios

  1. Rafael

    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

  2. Joel Cardenas

    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

  3. CarLitros1000

    Gracias por el aporte.

  4. SANDRO

    Hola, ya no funciona el archivo desde hace un par de semanas.

  5. Nora Mechato

    Habrá una aplicación para la buscar los datos personales ?

    1. 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

  6. GREDY DENNIS MELENDEZ AVILES

    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

    1. Sí entiendo, la única web confiable para saber si una persona es fallecida o no es RENIEC

  7. Carlos

    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.!!

    1. 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

  8. Enrique

    Tendra o podria recomendar algun curso para realizar las diversas consultas a internet a través de vba

  9. Maick Davila

    Excelente aporte !!!

  10. Ana E

    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.

    1. 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

      1. Ana E

        Estaré a la espera que pueda acceder a una nueva versión.Gracias por su aporte.

      2. Virgilio

        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

      3. Franccesco

        Gran aporte en verdad Luis! Te deseo lo mejor! Gracias.

  11. Fer

    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.

  12. Miguel

    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

    1. 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

  13. Fernando

    Hola, excelente aporte, pero cuando le doy en consulta masiva sale un error en la linea de Solicitud.send (enviado), que sera? gracias.

  14. Luis

    No funciona, demora bastante y nada. Eso si funciono unos dias, pero despues. Nada de nada.

    1. 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

      1. Luis

        Muchas gracias, esperamos que se logre ubicar otra solucion. Buen trabajo. Particularmente si lo use como un mes.

        1. Luis

          Profesor, ya esta operativo nuevamente la pagina de RENIEC, lo acabo de verificar. Saludos.

  15. VSAnubi

    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.

  16. edgar flores

    quisiera adaptarlo a visual studio vb.net

  17. isaac

    Hola, me podrias explicar paso por paso, lo descargo pero no funciona.

  18. Jaime

    Habia una version anterior, ya ha dejado de estar disponible?, mostraba donde votó el dni consultado.

    1. 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

      1. Jaime

        ok, Gracias por contestar.

  19. RAUL

    AMIGO NO FUNCIONA LA MACRO, SE CAYÓ LA PLATAFORMA. PUEDES SUBIR UNO NUEVO PORFAVOR

    1. La página de consulta dejó de funcionar, ahora me he conectado a otra web, descarga el nuevo archivo por favor

      1. Justa

        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

  20. Ana E

    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.

    1. Actualiza y descarga la nueva versión por favor, la web de consulta ha cambiado

  21. REYLER

    y en php como sería?

    1. M4ster VBA

      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

  22. Giovanni

    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.

  23. Julio

    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.

  24. JOHNNY

    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.

    1. Programador

      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

      1. JORGE

        Por favor me podrias enviar informes. gracias

Deja una respuesta