Blog

27 de setembro de 2021

Como Proteger Planilha Excel com Senha

Olá, Programador! Neste texto quero te mostrar como proteger uma planilha Excel com senha de forma manual e por macro.

 

O método manual pode ser demorado e desgastante, caso existam muitas abas dentro do arquivo.

 

Por isso, sempre recomendo a utilização de macros para aprimoramento dos arquivos e ganho de produtividade. Vamos lá?

 

Proteger Planilha Excel com Senha – Método Manual

 

Primeiramente, clicamos na guia “Revisão” no cabeçalho do Excel e, em seguida, selecionamos “Proteger Planilha”.

 

Proteger Planilha Excel com Senha

 

Após isto, definimos o que será protegido na aba selecionada e escrevemos duas vezes a senha escolhida.

 

Proteger Planilha Excel com Senha

 

Mas atenção, esta forma de proteção envolve apenas a aba selecionada pelo usuário.

 

Caso você possua, por exemplo, 50 abas dentro do seu arquivo e queira proteger todas de forma manual, terá que repetir este mesmo procedimento em cada uma das abas.

 

Entretanto, caso o seu objetivo seja proteger a estrutura do arquivo, para evitar a criação de novas abas e a edição de seus títulos, você deverá, também através da guia “Revisão”, clicar em “Proteger Pasta de Trabalho”.

 

Proteger Planilha Excel com Senha

 

Proteger Planilha Excel com Senha – Macro

 

A macro que utilizamos para proteger uma planilha Excel com senha é muito simples, variando apenas em função do que queremos proteger nas abas.

 

Sub Bloquear_Abas()

Dim WS_Count As Integer
Dim x1 As Integer

WS_Count = ActiveWorkbook.Worksheets.Count

For x1 = 1 To WS_Count

Sheets(x1).Select

ActiveSheet.Protect Password:="CTRL2", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection

Next x1

End Sub

 

Neste caso, a senha que estamos utilizando é “CTRL2” e a variável “WS_Count” nos retorna o número exato de abas que temos dentro do nosso arquivo.

 

Já para desbloquear as abas de um arquivo com esta mesma senha, o código ficaria desta forma:

 

Sub Desbloquear_Abas()

Dim WS_Count As Integer
Dim x1 As Integer

WS_Count = ActiveWorkbook.Worksheets.Count

For x1 = 1 To WS_Count

Sheets(x1).Select

ActiveSheet.Unprotect Password:="CTRL2"

Next x1

End Sub

 

Mas se o seu objetivo for proteger a estrutura da pasta de trabalho por macro, o código ficaria desta forma:

 

Sub Proteger_Pasta_Trabalho()

ActiveWorkbook.Protect Password:="CTRL2", Structure:=True, Windows:=True

End Sub

 

E para desproteger:

 

Sub Proteger_Pasta_Trabalho()

ActiveWorkbook.Unprotect Password:="CTRL2"

End Sub

 

+ Macro que lista todas as abas de um Excel

+ Como selecionar todos os objetos de uma Planilha

+ Como classificar dados com Excel VBA

 

Conclusão

 

Perceba, neste caso, o quanto a criação de um código simples em VBA pode nos proporcionar um ganho considerável de produtividade.

 

Isto nos ajuda, inclusive, durante a execução de desenvolvimentos, já que protege dados e fórmulas que não podem ser alterados.

 

Por exemplo, no projeto de Fluxo de Caixa e Viabilidade de Acompanhamento que fizemos para a Lavvi, a utilização destes códigos era diária.

 

Abraços!

Inscreva-se em nossa newsletter!