Desproteger hoja de Excel con contraseña.

¿Alguna vez has querido anular la contraseña de una hoja de Excel y no la recordabas?.

Bueno, este truco es muy antiguo pero no por ello menos efectivo. El resultado de aplicar este truco es la obtención de una contraseña valida para desproteger la hoja de excel. Al decir que es una contraseña valida quiero decir que no es la original pero nos permite desbloquearla igualmente.

El truco consiste en una rutina de programación que al ejecutarla (y esperar un rato mientras consigue la contraseña) nos muestra un mensaje con una contraseña válida.

Para ello, el código que pondré a continuación hay que ponerlo en un módulo de visual basic de la aplicación Excel. Lo puedes encontrar en el menú de Excel “Herramientas / Macro / Editor de Visual Basic” o bien pulsando (ALT+F11) para abrir el editor, pegamos el código, cerramos el editor.

Ahora seleccionamos la hoja que queremos desproteger y ejecutamos la macro “breakit” (ALT+F8 para seleccionarla). Tras la ejecución, un mensaje dará una contraseña equivalente, y la hoja ya estará desprotegida.

[vb]
Sub breakit()

Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer

On Error Resume Next
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126

ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If ActiveSheet.ProtectContents = False Then
MsgBox “Un password valido es ” & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
& Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

End Sub
[/vb]

271 comentarios en “Desproteger hoja de Excel con contraseña.

  1. Muchas gracias, pero ¿qué ocurre si el excel no me deja introducir la macro ya que para ello se necesita contraseña? Es decir, para acceder a Visual Basic me pide contraseña.

  2. GRACIAS POR LOS CODIGOS QUE USTEDES HAN CREADO YA QUE ES MUCHA IMPORTANCIA PARA NOSOTROS COMO ESTUDIANTES.

  3. Amigos aca les dejo la macros que les servira para desbloquear el LIBRO espero les sirva y traten de aportar en lo que sea la idea es expandir el conocimiento Saludos

    Sub breakit()

    Dim WS_Count As Integer
    Dim WS_I As Integer
    Dim clave As String

    ‘ Set WS_Count equal to the number of worksheets in the active
    ‘ workbook.
    WS_Count = ActiveWorkbook.Worksheets.Count

    ‘ Begin the loop.
    For WS_I = 1 To WS_Count

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = True Then

    If clave = “” Then

    nuevaClave:

    Dim I As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer

    On Error Resume Next
    For I = 65 To 66
    For j = 65 To 66
    For k = 65 To 66
    For l = 65 To 66
    For m = 65 To 66
    For i1 = 65 To 66
    For i2 = 65 To 66
    For i3 = 65 To 66
    For i4 = 65 To 66
    For i5 = 65 To 66
    For i6 = 65 To 66
    For n = 32 To 126

    ActiveWorkbook.Worksheets(WS_I).Unprotect Chr(I) & Chr(j) & Chr(k) & _
    Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
    MsgBox “Un password valido es ” & Chr(I) & Chr(j) & _
    Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
    & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    clave = Chr(I) & Chr(j) & Chr(k) & _
    Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    GoTo listo

    End If

    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next

    listo:
    End If
    ActiveWorkbook.Worksheets(WS_I).Unprotect clave

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
    MsgBox ActiveWorkbook.Worksheets(WS_I).Name & ” ha sido desbloqueada =P”
    Else
    GoTo nuevaClave
    End If
    End If
    Next WS_I

    End Sub

  4. Hola en este caso del ejemplo presentado aqui nos da una contraseña de 12 caracteres donde del caracter 1 al 11 son combinaciones de A y B. Pero el 12vo caracter cambia. No importa si la contraseña es larga o corta… Alguien me puede ayudar a desifrar?? Que clase de codigo esta usando? o como aplica esto?

  5. ‘Este Módulo también sirve’.

    Function DecBin(num) As String
    If num Then DecBin = DecBin(num \ 2) & num Mod 2
    End Function

    Sub password()
    On Error Resume Next
    For i = 0 To 2047
    c = Format(DecBin(i), String(11, 48))
    For j = 32 To 126
    Unprotect c & Chr(j)
    If Not ProtectContents Then MsgBox “El password es » ” & c & Chr(j): End
    Next j, i
    End Sub

    ‘Copiar y Pegar’.
    Saludos.

  6. oye ni si quiera me permite crear el macros desde ahi me pide contraseña, al aprecer el archivo esta protegido con codigo VBA, por el programa lockxls… y ahora como le hago????…

  7. excelente, me he bajado un calculo de impuestos que sin esto no hubiera funcionado, muuuuchchchchchassss gracciassssss te felicito

  8. Excelente!!!! muy buen aporte, justamente requeria desbloquear un archivo que tenia y no podia recordar la clave que yo mismo le puse.
    Saludos.

  9. Funciona a la perfección, en mi caso debia desbloquear varias hojas y modifique un poco el codigo para que la desbloqueara todas una tras otra. A continuacion el codigo que utilice…

    Sub breakit()

    Dim WS_Count As Integer
    Dim WS_I As Integer
    Dim clave As String

    ‘ Set WS_Count equal to the number of worksheets in the active
    ‘ workbook.
    WS_Count = ActiveWorkbook.Worksheets.Count

    ‘ Begin the loop.
    For WS_I = 1 To WS_Count

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = True Then

    If clave = “” Then

    nuevaClave:

    Dim I As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer

    On Error Resume Next
    For I = 65 To 66
    For j = 65 To 66
    For k = 65 To 66
    For l = 65 To 66
    For m = 65 To 66
    For i1 = 65 To 66
    For i2 = 65 To 66
    For i3 = 65 To 66
    For i4 = 65 To 66
    For i5 = 65 To 66
    For i6 = 65 To 66
    For n = 32 To 126

    ActiveWorkbook.Worksheets(WS_I).Unprotect Chr(I) & Chr(j) & Chr(k) & _
    Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
    MsgBox “Un password valido es ” & Chr(I) & Chr(j) & _
    Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
    & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    clave = Chr(I) & Chr(j) & Chr(k) & _
    Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    GoTo listo

    End If

    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next
    Next

    listo:
    End If
    ActiveWorkbook.Worksheets(WS_I).Unprotect clave

    If ActiveWorkbook.Worksheets(WS_I).ProtectContents = False Then
    MsgBox ActiveWorkbook.Worksheets(WS_I).Name & ” ha sido desbloqueada =P”
    Else
    GoTo nuevaClave
    End If
    End If
    Next WS_I

    End Sub

  10. como ya te han dicho por aqui, eres un grande!! gracias, tenia un informe importante y de muchos datos que modificar y no podia por culpa de una contraseña que no pusimos y ahora volvemos a ver la luz al final del tunel.

    muchas gracias! me ahorraste muchísimo trabajo

  11. David Suárez, ¡¡¡sos un MOSTRO!!!, verdaderamente genial y todo en cuarenta líneas.
    Te presento mi mas sincero respeto a tu inteligencia.

  12. por lo general caundo busco algo asi termino molesta por todo es un enredo y no logro nada,
    pero en esta ocasion WAAAOOOOO MIL GRACIAS SI PUDE Y POR UN MOMENTO PENSE QUE NO :)

  13. me ha parecido fantástico y muy útil, pues hoy en día vienen muchas hojas bloqueadas sin necesidad alguna de estarlo, y con esta ayuda me has facilitado mucho el trabajo. Muchas gracias

  14. Excelente! Funciona genial con office 2010. Me fue de mucha ayuda! Gracias por compartir el conocimiento, ustedes hacen creer que aun es posible un mundo mejor.

  15. Troesma de los Maestros!!!! Genial!!! El tema que con esto se me Callo el curro de vender planillas exel jaja

  16. Pense que no iba a funcionar pero se necesita saber algo de programacion “sintaxis” jaja Gracias estuvo excelente el Aporte!!!

    para aquellos que no pueden ejecutarlo tienen que juntar la sentencia larga que fue separada por el guion bajo _

    ejemplo:

    ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

    tiene que ir de corrido

    :)

  17. Eres un genio, era para un archivo de hace años que ya no recordaba la contraseña y necesitaba la información, mil gracias, estaba desesperado.

  18. De locos funciono perfecto……….. Maestrazo…… se que la constraseña que yo tenia era nivel 6 y mira que la saco….

  19. entro al editor de visual pero al querer abrir un modulo me pide la contraseña y no puedo avanzar, que hago

  20. Sos un genio me funciono a la perfección deben tomar en cuenta que si su PC tiene baja memoria RAM no desesperen tarda pero desprotege la Hoja oye una consulta no sabrás como desbloquear programas como Word , PowerPoint
    de ante mano Gracias!!

  21. Realmente lo máximo. Funciona a la perfección, por favor podrías explicar cuál es la lógica que sigues para entender porqué es que se desprotege la hoja. Por favor, sólo para entender.

  22. Excelente bro, mira que me ha servido de maravilla, no es necesario introducir e new pass, automaticamente la desbloquea, seguid asi.. SALUDOS

  23. Excelente, no necesitas curso para esto, estando en el libro le das alt + F11, de la lista de la izquierda que aparecerá eliges la hoja que quieres desbloquear y se abre un cuadro al lado derecho, pegas las líneas desde donde dice “Sub breakit()”
    y hasta donde dice “End Sub”, y oprimes el boton de play, uno verde que está en la barra de herramientas o bien F5 y listo, te desbloqueará, es una herramienta EXCELENTE!!!

  24. te felicito por lo que sabes pero queria decirte que todos no tenemos tus vastos conocimientos creo que debieras definir un procedimiento paso a paso para neofitos totales muchas gracias

  25. Excelente solución, por sencilla y efectiva. Es tan ridículamente fácil que sorprende, lo cual no quita la genialidad. Gracias por la ayuda.

  26. DESPROTEGER “LIBRO” DE EXCEL MEDIANTE MACROS YA QUE NO PUEDO MODIFICAR ESTRUCTURA. NO HABLO DE HOJAS SI NO DEL LIBRO. GRACIAS POR LAS SOLUCIONES.

  27. hola cuando trato habro el visual en el documento tampoco me deja agregar modulos me ni nada ni ver los q tiene pues me pide contraseña nuevamente alguna idea para eso? gracias

  28. Muchas gracias, sos un genio, al finalizar la rutina de visual se desbloqueo la hoja no fue necesario digitar la clave que aparece,

  29. Pues a mi me aparece el suiguiente error al utilizarlo:
    Error de compilación
    No se puede encontrar el proyecto o la biblioteca

    y en la ventana donde esta escrita la funcion me sale subrayado de amarillo Sub breakit()y en gris la parte For i1

  30. Buenas:
    Yo hago lo que dices, o eso creo, y no me aparece ningún tipo de mensaje.
    He copiado tu código de visual basic. Le he dado a alt f11. Le he dado a pegar y le doy a archivo guardar (Ctrl S).
    Lo cierro. le doy a alt F8 y elgijo la macro 1 le doy a ejecutar y nome sale nada de nada.

    Por favor se que estoy haciendo algo mal, si alguien se puede dar cuenta se lo agradecería

  31. Muy buenas JD… que bien que lo hayas podido solucionar.

    Yo sigo intentándolo y no hay manera. Me sale siempre el pasword AAAAAAAAAAA y no se abre.

    Espero que alguien me pueda ayudar.

    muchas gracias

  32. He intentado desprotejer un exel xls y me ha dicho que el password era AAAAAAAAAAA

    EL problema es que cuando le doy a desprotejer me dice que el pass es incorrecto.

    Espero me puedan ayudar.

    Muchas gracias

  33. Muchas gracias por la aportación. Funciona OK.
    Una vez pegas en Herramientas / Editor de Visual Basic la fórmula, salgo de la pantalla, y con Alt+F8 se abre una pantalla que identifica la macro, y permite ejecutarla. Muy fácil.

  34. EXCELENTE, GRACIAS POR EL APORTE. GRACIAS POR COMPARTIR TU CONOCIMIENTO CON LOS NEOFITOS QUE AUN NOS QUEDA MUCHO POR APRENDER…
    :)

  35. Estoy fascinada, pocas veces encuentra uno en internet la ayuda perfecta para solucionar algun problema y tu aporte es simplemente perfecto.
    Mucha gracias, al igual que los demas, tambien me sacaste de un buen lìo.
    Saludos, estaremos al pendiente

  36. Sencillamente genial, porque sólo puede deberse a un GENIO. Es admirable que compartas tus soberbios conocimientos con todos nosotros. Me quito el sombrero.

    También quiero agradecer el comentario [74] a VICTOR: ha sido el broche final para redondear un excelente trabajo que me ha sacado de un buen atolladero.

  37. Hola amigo!! de verdad muy buen tip, lo he probado en algunos archivos con hojas protegidas y me funciona bien, hasta hoy que me encontre con el caso de que no me deja instertar un modulo en VB, ni modificar alguno existente, me pide contraseña, he intentado pero no logro conseguir una respuesta, tendras algun dato para esta circunstancia?? saludos..

  38. Gracias pero una pregunta hay forma de quitarle la contraseña al editor de VB, ya que cuando abro el editor me pide contraseña.

    un saludo

  39. Excelente, lo probé y resultó. Gracias por el aporte.
    Si no pueden desprotegerlo abran otro archivo en blanco creen ahí la macro luego ejecútenlo Alt+F8 y ahí podrán escojer la hoja que desean desproteger (previamente abierta)

  40. increible, gracias amigo es muy interesante, por favor si tienes algunos manuales para visual basic en excel, me ayudarian, mandamelos a mi correo

  41. Hola David, no por antiguo deja de ser efectivísimo, sobre todo para aquéllos que lo desconocíamos. Gracias.

  42. Perfecto Hno!

    Muchas gracias por compartir tus conocimientos, se agradece mucho q lo hayas hecho, eso habla bien de ti y de tu gran humildad,Cuidate ,saludos desde cuernanava morelos mx!

  43. Excelente Trabajo Muchas Gracias Si Funciona… Solo es pegar la Macro y ejecutarla para que salga la Contaseña.

  44. eso hace falta en éste país, abandonar el miedo a compartir el conocimiento!!! GRACIAS DAVID, DESDE AQUI BESOTES SINCEROS PARA TI..

  45. A ver Edgar si puedo darte una manito:

    1) Alt+F11 para abrir el editor de VBasic.
    2) Te posicionas en el libro que quieras crear la macro (o sea pegar el código…).
    3) Se hará como una carpetita llamada Módulo1 (o puede tener otro número).
    4) Doble click en Módulo1 y en la parte de la derecha pegás el código.

    Bueno, espero que se entienda.
    Un cordial saludo.

  46. No encuentro donde pegar el codigo para desproteger hoja de excelsi me puedes indicar el sitio exacto dentro del item editor visual basic

  47. Gracias compadre, me ayudo para llenar un formatillo, por cierto como comentario, alguna vez utilize Open Office para abrir un documento protegido y no tuve problemas, creo que eso es lo mas fácil si no crees que puedas realizar el truco. no se si todavía funciona, saludos!

  48. Permita mis FELICITACIONES…
    Tenía una hoja protejida con muchas fórmulas y cálculos pero no podía acceder… EXELENTE lo tuyo hermano, funcionó muy bien… MAESTRO…
    Si bien no te tira la clave con la que está protejida la hoja, pero te la desproteje que es lo que buscaba hace meses…
    Guillermo, de Argentina.

  49. Hola , tu truco me funciona en hojas de excele que estan protegidas normalmente , pero tngo un documento en excel donde intenté accesar el código , pero ahí también me piden el password. Ni siquiera tengo chance de meter la calve que me estas dando.¿que hago?

  50. hola,

    Se que has recibido los mejores alagos…asi que solo puedo decir mil gracias….fue de mucha ayuda el código…

    Saludos.

  51. Hola:

    Tengo un archivo protegido con contraseña quqe protege todod el libro de ese archivo. Entonces le doy a cancelar, ejecuto la macro y sale , en menos de 1 segundo, la contraseña “AAAAAAAAAAA” pero no se abre con eso.

    ¿Alguna sugerencia?

    Gracias

  52. Al principio creí que se colgo el Excel pero despues de ver el resultado XD XD XD que alegria. Ahora podré hacer algunas mejoras para mi trabajo. muchimas gracias!!!

  53. pero cuando selecciono el archivo me pide la contraseña y no me deja correr la macro, ademas mi hoja de excel tiene numeros

  54. buenas amigos tengo un problema tengo una hoja excel que posee una imagen pero no puedo eliminarla, esta como incrustada o bloqueada…mucho sabria agradecer que me ayudara gracias

  55. Me aparece lo siguiente:

    No se encontró la licencia de este componente. No dispone de una licencia apropiada para utilizar esta función en el entorno de diseño.

    que hice mal??

Los comentarios están cerrados.