Google+

Como desproteger planilha no Excel

Na maioria das vezes, nossas planilhas contêm informações sigilosas ou algumas informações que não podem ser alteradas. Para resolver este problema, é muito comum proteger as planilhas com senha. Entretanto, às vezes pode acontecer de o usuário da planilha esquecer qual é a senha! Como provavelmente o trabalho é muito complexo para ser refeito ou até mesmo pode ter sido feito por outra pessoa, nos perguntamos se há algo que pode ser feito neste caso, para desproteger uma planilha no Excel.

Existe sim uma solução para este caso. Ela é simples, de certa forma rápida para implantar e explora uma falha de segurança do Microsoft Office. Vamos então ao passo a passo para desproteger a planilha.

1.        Pressione Alt + F11 para abrir a janela de criação de código VBA, como mostrado abaixo:

1 - destravar planilha excel

2.        Em seguida, clique com o botão direito na sua planilha e depois em “Exibir código”:

2 - desproteger planilha excel

3.        Na janela que abriu, copie e cole o código abaixo:

Sub DesprotegerPlanilhaAtiva()

Dim i, i1, i2, i3, i4, i5, i6 As Integer, j As Integer, k As Integer, 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 “Planilha desprotegida com sucesso!!!”

Exit Sub

End If

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

End Sub

4.        Salve seu trabalho e clique no botão “Executar”, no alto da janela:

3 - desbloquear planilha excel

 

5.        Agora é aguardar a execução. Pode ser que demore bastante, dependendo do tamanho e complexidade da senha que está sendo quebrada. É normal aparecer a mensagem “(Não está respondendo”), dado a impressão que o Excel está travado; ele não está. Espere até o final da execução da macro em VBA que desprotege a planilha.

4

Isto pode aparecer e não significará que o Excel travou!

6.        O trecho de código em VBA MsgBox “Planilha desprotegida com sucesso!!!” fará que uma mensagem aparece na sua tela quanto esta tarefa estiver concluída.

 

Estes 6 passos descritos acima mostram como desprotegemos uma planilha quando esquecermos ou não soubermos a senha. Entretanto, em alguns casos, pode acontecer também de a planilha estar travada logo na abertura, sendo impossível abrir o arquivo sem a senha. Neste caso, o procedimento que devemos fazer é outro mais complicado e exige um pouco mais de sorte e investimento para termos sucesso. Programas como o encontrado no site http://www.lostpassword.com/vba.htm servem para desbloquear o arquivo logo na abertura.

O código fonte para este artigo está disponível originalmente em http://www.hardware.com.br/comunidade/desproteger-planilha/299297/

 

email
Updated: 29/09/2014 — 15:36

9 Comments

Add a Comment
  1. Olá… Você saberia me dizer se é possível no Excel na questão de PROTEÇÃO DE CÉLULAS realizar a proteção condicionada a uma variável ?
    Por exemplo se célula X9 = 1 a proteção protege uma série X de células senão se X9 = 2 protege uma série Y de células.

    1. Olá Clayton, tudo bem?

      Sim! é possível! para isso será necessário gravar duas macros, uma para bloquear a série “X” de células, com a condição da célula X9 = 1 e a outra para bloquear a série “Y” se X9 = 2. Eu fiz uma planilha de exemplo pra você, clique aqui para baixá-la, onde dou como exemplo o bloqueio das células E1:E3 se X9=1 e o bloqueio das células G1:G3 se X9=2, abaixo deixo todo o código utilizado (é bem pequeno e simples), onde você pode alterar os valores E1:E3 e G1:G3 no código para os respectivos valores referentes às células que você deseja bloquear:

      Private Sub Worksheet_Change(ByVal Target As Range)

      If Target.Address = “$X$9” And Target.Value = “1” Then

      ‘ bloq1 Macro


      ActiveSheet.Unprotect
      Cells.Select
      Selection.Locked = False
      Selection.FormulaHidden = False
      Range(“E1:E3”).Select
      Selection.Locked = True
      Selection.FormulaHidden = False
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

      ElseIf Target.Address = “$X$9” And Target.Value = “2” Then

      ‘ bloq2 Macro


      ActiveSheet.Unprotect
      Cells.Select
      Selection.Locked = False
      Selection.FormulaHidden = False
      Range(“G1:G3”).Select
      Selection.Locked = True
      Selection.FormulaHidden = False
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

      Else: Exit Sub
      End If
      End Sub

      Não se esqueça de clicar em “Habilitar Conteúdo” para que as macros sejam ativadas.

      Espero ter ajudado, se ainda tiver dúvidas, por favor não hesite em perguntar.

      Um abraço.
      Raymson Evellark.

  2. Boa dica, porém se a planilha estiver com a senha na opção “Proteger Pasta de Trabalho” e por exemplo ocultar algumas planilhas….o código não desbloqueie para reexibir….

    Existe como?

    Obrigado…abç

    1. Olá amigo.

      Neste caso é necessário a utilização de programas par quebrar a senha, como por exemplo o “Excel Password Recovery” ou o “Excel Password Unlocker”.

      Abraço.

  3. Senhores para o Excel 2013 ele tem uma nova chave de Criptografia! Segue os procedimentos para realizar a quebra! http://www.excelsolutions.com.br/desproteger-planilha-do-excel-2013-sem-utilizar-programacao-vba/

    Abraços!

    1. Fábio.

      Obrigado por sua contribuição complementando o assunto.

      Abraço.
      Raymson.

  4. Valeu cara Funcionou geral

  5. Olá meu amigo, estou colocando todos os códigos e está dando erro de copilação: erro de sintaxe. Como faço para resolver este problema?

    1. Olá amigo, desculpe a demora na resposta, você já resolveu este problema? qual a versão do seu Office?

      Aguardo resposta.

      Abraço
      Raymson.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Excel Prático © Todos os direitos reservados. 2014 - 2016