Proteção de pasta de trabalho VBA (proteger / desproteger com senha)

O Excel permite que você proteja suas pastas de trabalho do Excel contra alterações. Este tutorial mostrará como proteger ou desproteger a estrutura da pasta de trabalho usando o VBA.

Proteção de pasta de trabalho VBA

A Proteção de pasta de trabalho VBA permite que você bloqueie a estrutura da pasta de trabalho. Quando uma pasta de trabalho está protegida, os usuários não podem adicionar, excluir, ocultar / exibir ou proteger / desproteger planilhas. Se você estiver construindo um modelo, provavelmente deseja ativar a proteção da pasta de trabalho para evitar que os usuários (ou você!) Excluam acidentalmente as planilhas.

UnProtect Workbook VBA

Para desproteger uma pasta de trabalho, basta usar a seguinte linha de código:

1 Pastas de trabalho ("Livro1"). Desproteger

Observação: este código só funcionará se a pasta de trabalho estiver protegida sem uma senha. Se estava protegido por senha, você também deve inserir a senha para desprotegê-lo:

Pasta de trabalho UnProtect com senha

Esta linha de código irá desproteger uma pasta de trabalho que foi protegida por uma senha:

1 Pastas de trabalho ("Livro1"). Desproteger senha: = "senha"

ou você pode omitir a senha: =

1 Pastas de trabalho ("Livro1"). Desproteger "senha"

Desproteger este livro de trabalho

Este código irá desproteger ThisWorkbook (ThisWorkbook é a pasta de trabalho onde o código em execução está armazenado. Ele nunca será alterado).

1 ThisWorkbook.Unprotect

ou desproteja este livro de trabalho com uma senha:

1 ThisWorkbook.Unprotect "password"

UnProtect ActiveWorkbook

Este código irá desproteger o ActiveWorbook.

1 ActiveWorkbook.Unprotect

ou desproteja o ActiveWorkbook com uma senha:

1 ActiveWorkbook.Unprotect "password"

Desproteger todas as pastas de trabalho abertas

Este código irá desproteger todas as pastas de trabalho abertas:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb como pasta de trabalhoPara cada wb nas pastas de trabalhowb.UnprotectPróximo wbEnd Sub

Pasta de trabalho UnProtect - sem saber a senha

Se você precisar desproteger uma pasta de trabalho sem saber a senha, existem vários suplementos para ajudar. Eu recomendaria o Ribbon Commander.

Desproteger todas as planilhas da pasta de trabalho

Depois de desproteger uma pasta de trabalho, você também pode querer desproteger todas as planilhas da pasta de trabalho. Este é um procedimento que irá desproteger todas as folhas:

12345678 Sub UnProtectWorkbookAndAllSheets ()Dim ws como planilhaActiveWorkbook.UnprotectPara cada ws nas planilhasws.UnprotectPróximoEnd Sub

Proteger a pasta de trabalho

Você pode proteger as estruturas da pasta de trabalho da mesma forma que desprotege.

Proteger pasta de trabalho sem senha

Esta linha de código protegerá uma pasta de trabalho (sem senha)

1 Pastas de trabalho ("Livro1"). Proteger

Observação: frequentemente aplicarei a proteção da pasta de trabalho sem senhas, simplesmente para evitar acidental alterações nas pastas de trabalho.

Proteger a pasta de trabalho com senha

Este código protegerá a estrutura da pasta de trabalho (com uma senha)

1 Pastas de trabalho ("Livro1"). Proteja a "senha"

ou:

1 Pastas de trabalho ("Livro1"). Senha de proteção: = "senha"

Arquivo Excel protegido por senha

Em vez da proteção da pasta de trabalho, você pode querer proteger com senha um arquivo Excel inteiro. Para fazer isso usando o VBA, salve como a pasta de trabalho com uma senha:

1 Pastas de trabalho ("Livro1"). Salvar como "senha"

Exemplos de proteger / desproteger pasta de trabalho

Reexibir todas as planilhas na pasta de trabalho protegida

Este procedimento irá desproteger uma pasta de trabalho, ocultar todas as planilhas e protegê-la novamente

12345678910 Sub UnprotectWB_Unhide_All_Sheets ()Dim ws como planilhaActiveWorkbook.UnprotectPara cada ws nas planilhasws.Visible = xlSheetVisiblePróximoActiveWorkbook.ProtectEnd Sub

Proteja a pasta de trabalho e todas as planilhas

Este procedimento protegerá todas as planilhas em uma pasta de trabalho e, em seguida, protegerá a pasta de trabalho:

1234567891011 Sub ProtectWB_Protect_All_Sheets ()Dim ws como planilhaActiveWorkbook.UnprotectPara cada ws nas planilhasws.ProtectPróximoActiveWorkbook.ProtectEnd Sub

Você também pode adicionar proteção por senha:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws como planilhaActiveWorkbook.Unprotect "password"Para cada ws nas planilhasws.Proteger "senha"PróximoActiveWorkbook.Protect "senha"End Sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave