Muitas vezes criamos uma Planilha do Excel e esquecemos a senha ou até mesmo temos aquela situação onde o colega saiu da empresa, e descobrimos que o criador do arquivo a protegeu com uma senha, impedindo que outras pessoas passam altera-la, e ai precisamos Desproteger nossas Planilhas do EXCEL.
Para tirar a senha de arquivos totalmente protegidos e desbloquear a planilha, é preciso criar uma macro capaz dequebra-la. E isso só é possível através das opções de desenvolvedor do Office.
Para que todo o trabalho não seja perdido e para que você consiga recuperar desbloquear a planilha ou acessar as informações temos um passo a passo que vai ajudar.
Siga o passo a passo abaixo e conseguirá realizar o processo de desbloqueio da sua planilha, caso tenha dúvidas você pode me enviar um comentário ou até mesmo e-mail. 🙂
Confira o vídeo com o passo a passo | Habilite o Som
Desproteger Planilhas do EXCEL
- Abra o arquivo vá até o menu “Salvar Como”, salve ele como “Pasta de trabalho do Excel 97-2003 (*.xls)
- Feche o arquivo atual e abra o arquivo que foi salvo no formato acima.
- Com o arquivo aberto, acesse o menu Desenvolvedor e clique em Macros ou clique ALT+F11.
- No ambiente de programação do VBA vá em INSERIR > MÓDULO
- Insira o código abaixo copiando e colando desde a linha “Sub Desbloquear_Planilha()” até “End Sub”.
- Ainda no console de macros selecione a macro que acabou de criar (no caso, Desbloquear_Planilha) e clique em Executar;
- Ou volte para o excel e digite ALT+F8. Selecione sua macro (Desbloquear_Planilha) e clique em executar.
- O processo pode levar algum tempo, aguarde alguns segundos e após a execução da macro será exibida a mensagem “Sua planilha foi desbloqueada!”
- Pronto o processo foi finalizado!
E pronto, seu arquivo está desprotegido.
Sub Desbloqueia_Planilha() 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 “Sua planilha foi desbloqueada “ Exit Sub End If Next Next Next Next Next Next Next Next Next Next Next Next End Sub
*É importante ressaltar que este tópico não incentiva a pirataria ou o uso indevido de arquivos de terceiros que não tenham autorizado previamente a desbloquear planilha.
Acesse nossa sessão de VBA e deixe seu comentário como foi o processo de desbloquear planilha neste post!
Espero que consigam e que essa dica tenha sido útil.
Abraços
Douglas
O único vídeo que realmente resolveu meu problema com a proteção da planilha. Esqueci a senha, mas desbloqueei com sua ajuda! Muito obrigado!!! Sensacional Douglas!
Obrigado pelo feedback Ulisses. Um abraço!
Muito obrigado, me salvou o trampo, valeu Deus abençoe
Top! Funcionou perfeitamente!
Obrigado!
PARABENS SEU CODIGO ME AJUDOU BASTANTE
Boa tarde, tudo bem? Tentei fazer o procedimento, porém quando vou para a parte INSERIR MODULO, aparece em cinza pra mim (não permite que eu selecione). O que será que ocorreu? Eu utilizo o Excel no sistema Macbook. 🙁
Muito obrigado!
Deu certo comigo!
Show de bola, que bom que deu certo!
Deu muito certo!
Muito obrigada pela orientação.
Eu que agradeço pelo comentário.
Pessoal, acabei de testar e funciona!! Os editores de texto aqui e dos comentários estão alterando as aspas simples e duplas para caracteres diferentes do reconhecido pelos compiladores, por isso está dando a mensagem de erro de sintaxe. Antes de executar, cole o texto no bloco de notas e substitua as aspas para normais. ( ‘ ) e ( ” )
Deu certo. Mas tem que editar as aspas, conforme ensinado no vídeo.
Show, é importante salvar em xls, excel de 97-2003, que ai é rapido, e logo desbloqueia!
Obrigado por compartilhar!
Obrigado pelo feedback, Paulo!
Um abraço!
Douglas
Deu certo! MUITO OBRIGADO!
Sensacional, foi como mágica, fiquei de boca aberta, obrigada !
Show de bola Mariana, obrigado pelo comentário!
Sensacional!!! Eu estava com problemas em uma planilha e o Douglas foi muito solicito me ajudando e resolvendo o meu problema pelo whatswapp!
Parabéns Douglas,
Muito obrigado pela atenção e ajuda.
Abraços
Olá Renato, fico feliz em ter ajudado! sempre que precisar fico a disposição. Abraços
Olá, boa tarde Douglas, tudo bem?
Não deu certo!!! Tentei diversas vezes, inclusive seguindo os passos salvando em XLS, porém só aparece “não está respondendo” e não sai disso.
Por gentileza, poderia me ajudar?
Olá Renato, abra o arquivo vá até o menu “Salvar Como”, salve ele como “Pasta de trabalho do Excel 97-2003 (*.xls)
Feche o arquivo atual e abra o arquivo que foi salvo no formato acima ai não vai travar.
Jorge, como alterar este código para exibir a senha?
Tenho um aparelho que gera um relatório xls, porém vem travado. Este aparelho comprei xingling, então não tenho como entrar em contato para perguntar isso.
Como vou precisar desbloquear o relatório com frequência, seria mais fácil se soubesse qual é.
Opa, consegui.
Na linha abaixo do IF, acrescentei:
MsgBox Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Vai aparecer uma mensagem com a senha.
WOWWW show de bola! VALEUUUU!
Amigo, aqui tá apresentando o erro ‘Erro compilação: Erro de sintaxe”. no office 16, é algo que eu esteja fazendo de errado? precisava muito desbloquear uma planilha 🙁
Lucas, você fez o passo a passo? Se sim, mão deveria dar erro, se ainda persistir me escreve aqui.
Douglas boa tarde! Essa macro funciona bem, já usei várias vezes. Estou com uma planilha que tento desbloquear com a macro e simplesmente ela trava e não desbloqueia! Alguma dica?
Nídia, bom dia!
Provavelmente você está executando a macro no arquivo com a versão mais nova do excel, no vídeo eu ensino o passo a passo para salvar o arquivo nas versões mais antigas xls e conseguir rodar a macro sem travar.
Da uma olhada e se tiver dificuldade me sinaliza.
Abs
Douglas
Y
O meu arquivo excel pede uma senha para abrir o arquivo.
Nao consigo nem abri-lo, esqueci a senha.
É possível desbloquea-lo?
Braulio, para desbloqueio de arquivos com senha de abertura é outro tipo de desbloqueio, onde é necessário o uso de softwares específicos, estes softwares geralmente são pagos, por isso se quiser me envie seu arquivo, os desbloqueios por estes softwares só são cobrados se o desbloqueio ocorre, caso eles não consigam desbloquear o aquivo não há cobrança. Vou te mandar um e-mail e fico a disposição para mais detalhes. Abraços
Funcionou perfeitamente comigo!
Tive o problema com a versão mais recente do excel, porem, após a troca para XLS o código rodou perfeitamente.
Parabém Douglas, muito bom!!
Show de bola Rafa, realmente esta mudança para a versão XLS faz toda diferença para o desbloqueio.
Obrigado pelo comentário e visita!
Abraços
Esqueci a senha de uma planilha que era importante pra mim.
Perfeita, Douglas a sua explicação.
Obrigado! Parabéns!
Olá Arlindo, boa tarde!
Muito Obrigado pelo seu comentário, fico feliz que tenha lhe ajudado.
Abraços
Douglas
Tudo certo.
Show de bola!
Abraços
Douglas
no meu arquivo não deu certo. fica como não está respondendo e não sai disso.
Olá Vagner, você chegou a fazer o passo a passo do vídeo salvando o arquivo com XLS? Me sinaliza. Abraços
Ola ! O meu sempre da erro de copilação ou erro de sintase ! como faço ?
Claudia, verifique as aspas do seu código, qualquer coisa dá uma olhada nas dicas que deixei no vídeo. Abraços
Ao executar este código, apresentou-se ‘Erro compilação: Erro de sintaxe”.
Esse código funciona!
Alguém tem alguma macro que desbloqueia a estrutura da planilha?
O excel possui 3 tipos de bloqueio: Abas, estrutura e Macros
Gostaria de desbloquear a estrutura de uma planilha antiga que tenho e não me lembro a senha ..
Public Sub AllInternalPasswords()
‘ Breaks worksheet and workbook structure passwords. Bob McCormick
‘ probably originator of base code algorithm modified for coverage
‘ of workbook structure / windows passwords and for multiple passwords
‘
‘ Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
‘ Modified 2003-Apr-04 by JEM: All msgs to constants, and
‘ eliminate one Exit Sub (Version 1.1.1)
‘ Reveals hashed passwords NOT original passwords
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine & _
“Adapted from Bob McCormick base code by” & _
“Norman Harker and JE McGimpsey”
Const HEADER As String = “AllInternalPasswords User Message”
Const VERSION As String = DBLSPACE & “Version 1.1.1 2003-Apr-04”
Const REPBACK As String = DBLSPACE & “Please report failure ” & _
“to the microsoft.public.excel.programming newsgroup.”
Const ALLCLEAR As String = DBLSPACE & “The workbook should ” & _
“now be free of all password protection, so make sure you:” & _
DBLSPACE & “SAVE IT NOW!” & DBLSPACE & “and also” & _
DBLSPACE & “BACKUP!, BACKUP!!, BACKUP!!!” & _
DBLSPACE & “Also, remember that the password was ” & _
“put there for a reason. Don’t stuff up crucial formulas ” & _
“or data.” & DBLSPACE & “Access and use of some data ” & _
“may be an offense. If in doubt, don’t.”
Const MSGNOPWORDS1 As String = “There were no passwords on ” & _
“sheets, or workbook structure or windows.” & AUTHORS & VERSION
Const MSGNOPWORDS2 As String = “There was no protection to ” & _
“workbook structure or windows.” & DBLSPACE & _
“Proceeding to unprotect sheets.” & AUTHORS & VERSION
Const MSGTAKETIME As String = “After pressing OK button this ” & _
“will take some time.” & DBLSPACE & “Amount of time ” & _
“depends on how many different passwords, the ” & _
“passwords, and your computer’s specification.” & DBLSPACE & _
“Just be patient! Make me a coffee!” & AUTHORS & VERSION
Const MSGPWORDFOUND1 As String = “You had a Worksheet ” & _
“Structure or Windows Password set.” & DBLSPACE & _
“The password found was: ” & DBLSPACE & “$$” & DBLSPACE & _
“Note it down for potential future use in other workbooks by ” & _
“the same person who set this password.” & DBLSPACE & _
“Now to check and clear other passwords.” & AUTHORS & VERSION
Const MSGPWORDFOUND2 As String = “You had a Worksheet ” & _
“password set.” & DBLSPACE & “The password found was: ” & _
DBLSPACE & “$$” & DBLSPACE & “Note it down for potential ” & _
“future use in other workbooks by same person who ” & _
“set this password.” & DBLSPACE & “Now to check and clear ” & _
“other passwords.” & AUTHORS & VERSION
Const MSGONLYONE As String = “Only structure / windows ” & _
“protected with the password that was just found.” & _
ALLCLEAR & AUTHORS & VERSION & REPBACK
Dim w1 As Worksheet, w2 As Worksheet
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
Dim PWord1 As String
Dim ShTag As Boolean, WinTag As Boolean
Application.ScreenUpdating = False
With ActiveWorkbook
WinTag = .ProtectStructure Or .ProtectWindows
End With
ShTag = False
For Each w1 In Worksheets
ShTag = ShTag Or w1.ProtectContents
Next w1
If Not ShTag And Not WinTag Then
MsgBox MSGNOPWORDS1, vbInformation, HEADER
Exit Sub
End If
MsgBox MSGTAKETIME, vbInformation, HEADER
If Not WinTag Then
MsgBox MSGNOPWORDS2, vbInformation, HEADER
Else
On Error Resume Next
Do ‘dummy do loop
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
With ActiveWorkbook
.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 .ProtectStructure = False And _
.ProtectWindows = False Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND1, _
“$$”, PWord1), vbInformation, HEADER
Exit Do ‘Bypass all for…nexts
End If
End With
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
If WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume Next
For Each w1 In Worksheets
‘Attempt clearance with PWord1
w1.Unprotect PWord1
Next w1
On Error GoTo 0
ShTag = False
For Each w1 In Worksheets
‘Checks for all clear ShTag triggered to 1 if not.
ShTag = ShTag Or w1.ProtectContents
Next w1
If ShTag Then
For Each w1 In Worksheets
With w1
If .ProtectContents Then
On Error Resume Next
Do ‘Dummy do loop
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
.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 Not .ProtectContents Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND2, _
“$$”, PWord1), vbInformation, HEADER
‘leverage finding Pword by trying on other sheets
For Each w2 In Worksheets
w2.Unprotect PWord1
Next w2
Exit Do ‘Bypass all for…nexts
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
End With
Next w1
End If
MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
End Sub
Show, verdadeiro gênio do excel, obrigado por compartilhar.
Show de bola meu amigo, muito obrigado pelo feedback!
CARA MUITO SHOW, TRABALHO COM EXCEL À MUITOS ANOS E NUNCA TINHA ME DADO CONTA DESSA MARAVILHA…
VALEW POR COMPARTILHAR SUA EXPERIÊNCIA CONOSCO E NOS ENTREGAR CONHECIMENTO DE QUALIDADE
Jorge, eu que agradeço pelo seu comentário e fico a disposição caso precise de algo mais. Abraços
tenho uma planilha, mas a senha está no codigo, onde não consigo jogar a rotina para desbloquer.
Abre a planilha pelo libre office que vc consegue acessar a programação em vba e verificar qual a senha na programação desbloqueia.