Desproteger Todas as Planilhas de um Documento Excel

Objetivo: Realizar a desproteção de todas as planilhas ativas de um arquivo Excel de uma vez só. Há um outro arquivo no site de como desproteger uma planilha de cada vez. Este artigo demonstra um código VBA para desabilitar todas as planilhas de uma só vez.

Ás vezes é necessário alterar uma planilha antiga, o problema é que você perdeu a senha dela. Para resolver este problema eu localizei na internet o código abaixo que pode ser muito útil para tirar a proteção do Excel nas suas planilhas. Como tirar a senha da planilha:

Public Sub lsDesbloquearTodasPlanilhas()

    Dim lQtdePlan As Integer
    Dim lPlanAtual As Integer

    'Inicia as variáveis
    lQtdePlan = Worksheets.Count
    lPlanAtual = 1

    'Loop pelas planilhas
    While lPlanAtual <= lQtdePlan
        Worksheets(lPlanAtual).Activate

        DesprotegerPlanilhaAtivaB

        lPlanAtual = lPlanAtual + 1
    Wend

    MsgBox "Planilhas desprotegidas!"
End Sub

'Desproteger Planilha
Sub DesprotegerPlanilhaAtivaB()

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 "One usable password is " & 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

Pronto! O resultado pode demorar um pouco para aparecer, mas todas as planilhas do arquivo Excel aberto serão desbloqueadas.

Abraço

Marcos Rieper

Sair da versão mobile