Proteger Planilha usando o VBA

Na aula de hoje vamos aprender a proteger planilha no Excel, assim como nossas macros no VBA, utilizando senhas com métodos do VBA!

Para proteger uma planilha no VBA, use o método Worksheets("Plan1").Protect Password:="suasenha" para bloquear a aba e Unprotect para liberar. Já o código das macros é protegido no editor VBA em Ferramentas > Propriedades do projeto VBA > Proteção, marcando “Bloquear projeto” e definindo uma senha. Assim você impede edições indevidas nos dados e no código.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso Canal do YouTube para mais vídeos!

O que você aprende neste vídeo

Resposta rápida: Nesta aula rápida, o instrutor ensina a proteger uma planilha com senha usando VBA. Ele mostra os comandos para bloquear (Protect) e desbloquear (Unprotect) a planilha por código, passando a senha, e também como proteger o próprio projeto VBA (as macros) com senha, para ninguém ver o código.

Neste vídeo (6 min):

  • 0:00 - O objetivo: bloquear e desbloquear uma planilha com senha usando VBA.
  • 2:00 - Os comandos Protect e Unprotect com a senha.
  • 5:00 - Proteger o próprio projeto VBA (as macros) com senha.

Clique aqui para baixar a planilha utilizada nessa publicação!

Por que proteger sua planilha?

Bloquear a planilha é importante para a segurança dos dados, garantindo que nenhum usuário não autorizado faça alterações que possam comprometer a qualidade do conteúdo da planilha.

Então se você tem uma planilha pessoal ou do trabalho que precisa compartilha, mas não quer que os usuários façam alterações indevidas, você pode simplesmente proteger a sua planilha para evitar problemas.

Como proteger planilha e suas macros?

Em nosso exemplo, vamos proteger a planilha “Base”, da nossa pasta de trabalho. Isso quer dizer que a planilha “Análise” ainda poderá ser alterada normalmente.

Base de dados
Base de dados

Esse procedimento para proteger a planilha, nós vamos executar utilizando o VBA (Visual Basic for Applications), que nada mais é do que a linguagem de programação para os programas da Microsoft.

Isso quer dizer que você pode fazer algumas automações com o VBA para facilitar seus trabalhos e se tornar mais eficiente dentro do Excel.

Vou deixar algumas sugestões de conteúdo caso queira saber um pouco mais a fundo sobre o VBA e suas aplicações:

Então vamos dar início a proteção da planilha utilizando o VBA.

Para isso, abrimos o VBA (alt+F11 ou alt+fn+F11, caso não funcione) e digitamos o seguinte código:

Ícone VBAVBA Impressionador

Como automatizar praticamente qualquer tarefa repetitiva que você faça dentro do Excel. Aprenda a criar integrações do Excel com o PowerPoint, Word, Outlook e muito mais. Aprenda a criar automações para resolver tudo com apenas um clique em um botão. Tudo isso com uma única linguagem que junta todos esses programas.

Começar agoraSeta para a direita
Fundo VBATelas VBA
VBA
Sub protege()

Worksheets("Base").Protect Password:="123"

End Sub

Onde:

Sub protege() é o nome da Macro;

Worksheets(“Base”) seleciona a aba a ser bloqueada, que no nosso caso é a aba “Base”;

.Protect é a fórmula em VBA para proteger a planilha;

Password:=”123″ é a senha que escolhemos para proteger a planilha, no nosso caso a senha será 123;

End Sub encerra a macro.

Agora que temos a planilha protegida, precisamos criar uma macro para desprotegê-la, com uma senha para que apenas usuários autorizados tenham acesso. Para isso, no VBA, escrevemos o seguinte código:

VBA
Sub desproteger()

Worksheets("Base").Unprotect Password:="123"

End Sub

Onde:

Sub desproteger() é o nome da Macro;

Worksheets(“Base”) seleciona a aba a ser bloqueada, que no nosso caso é a aba “Base”;

.Unprotect é a fórmula em VBA para desproteger a planilha;

Password:=”123″ é a senha que escolhemos para desproteger a planilha, no nosso caso a senha será 123;

End Sub encerra a macro.

Nossa planilha está então protegida e, para desprotegê-la basta acessar a guia Revisão > Desproteger planilha e digitar a senha, que no caso é 123.

Essa é a forma manual de se fazer, caso não queira fazer utilizando uma macro. Só que esse procedimento acaba sendo mais demorado e com algumas etapas tanto para proteger quanto para desproteger a planilha.

Desproteger planilha

Precisamos agora proteger nosso VBA, para que os usuários não autorizados não tenham acesso ao código e, assim, não consigam acessar nossa senha. Para isso, no ambiente do VBA, selecionamos Ferramentas > Propriedades de VBA Project…

Propriedades de VBA Project
Propriedades de VBA Project

Então, na guia Proteção, selecionamos a caixa “Bloquear projeto para exibição” para que o código não seja exibido e digitamos e confirmamos nossa senha, que neste exemplo será 123.

VBAProject - Propriedades de projeto - Proteger Planilha
VBAProject – Propriedades de projeto

Podemos agora clicar em OK, salvar nossa planilha e fechá-la. Assim, a exibição do código VBA e edição da planilha só serão possíveis a usuários que detenham a senha que criamos!

Perguntas frequentes

1. Como proteger uma planilha com VBA?

Use o método Protect: Worksheets(‘Plan1′).Protect Password:=’suasenha’ bloqueia a aba, e Unprotect a libera. Você controla o que fica bloqueado (células, formatação, estrutura) pelos parâmetros do método, automatizando a proteção pelo código.

2. Como proteger o código das macros no VBA?

No editor VBA, vá em Ferramentas > Propriedades do projeto VBA > aba Proteção, marque ‘Bloquear projeto para exibição’ e defina uma senha. Ao salvar e reabrir o arquivo, o código fica protegido contra visualização e edição.

3. Dá para proteger a planilha automaticamente?

Sim. Você pode chamar o método Protect em eventos como Workbook_Open ou ao final de uma macro, garantindo que a planilha sempre fique protegida. Isso evita depender de o usuário lembrar de proteger manualmente.

4. A proteção do Excel é totalmente segura?

A proteção por senha protege contra alterações acidentais e usuários comuns, mas não é uma criptografia forte. Para dados sensíveis, combine com a criptografia do arquivo (senha de abertura) e o controle de acesso ao próprio arquivo.

Conclusão

Nessa aula eu te mostrei como você pode proteger e desproteger uma planilha utilizando o VBA, ou até mesmo utilizando o método manual do Excel.

Além disso, ainda te mostrei como você pode proteger o seu código em VBA para que os usuários não tenham acesso ao conteúdo, principalmente quando você tem uma senha inserida no seu código para desbloquear a planilha!

Agora você já sabe como pode proteger suas informações de forma eficiente, mesmo quando precisar compartilhar o seu arquivo em Excel!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?