Como Criar um Código em VBA para Controle de Acesso com Nível de Login no Excel
- Lucas Araújo
- há 3 dias
- 4 min de leitura
Introdução ao Controle de Acesso com VBA no Excel
Você já precisou restringir o acesso a determinadas partes de uma planilha no Excel? Já quis que só quem tivesse a “chave certa” pudesse ver ou editar certas informações? Então, essa aula é pra você!
Hoje, vamos aprender como criar um sistema de login com controle de acesso por nível usando VBA no Excel — algo que vai dar um toque profissional às suas planilhas e proteger os seus dados de forma inteligente.
O que é o Controle de Acesso em Planilhas
Por que proteger informações sensíveis
Nem todo mundo que usa uma planilha precisa ver tudo, não é mesmo? Informações como salários, dados financeiros, estratégias ou até metas confidenciais exigem algum nível de proteção.
Casos comuns de uso
Planilhas financeiras com dados gerenciais
Painéis de indicadores de RH
Planilhas de controle de metas por setor
Sistemas de pedidos com controle de permissões
Aprenda a criar um controle de Acesso por nível de login com nossa aula completa:
Benefícios de Usar Login e Senha em Planilhas
Segurança
Você impede que pessoas não autorizadas vejam ou alterem dados importantes.
Organização e Controle
Cada usuário vê apenas o que é relevante para ele. Nada de bagunça!
Profissionalismo
Um sistema de login deixa sua planilha com aparência de software de verdade.
Estrutura Básica do Controle de Acesso em VBA
Como funciona o sistema de login com níveis
A ideia é simples: o usuário digita login e senha, e o sistema valida essas informações em uma tabela oculta. Se estiver tudo certo, ele acessa o conteúdo da planilha de acordo com seu nível.
Níveis comuns
Administrador – acesso total
Usuário – acesso restrito a determinadas áreas
Visualizador – apenas leitura
Elementos essenciais para o código funcionar
Planilha oculta com dados de usuários
Nessa planilha, colocamos:
Usuário | Senha | Nível |
joao | 1234 | Admin |
maria | 4567 | Usuário |
pedro | 7890 | Visualizador |
Formulário de login (UserForm)
Você precisa criar um formulário com dois campos:
TextBox para nome do usuário
TextBox com senha oculta
Botão para login
Módulo com a lógica de validação
Aqui o VBA entra em ação, comparando o que foi digitado com os dados da planilha oculta e redirecionando o usuário conforme seu nível de acesso.
Passo a Passo para Criar o Sistema de Login
Passo 1 – Criar a Tabela de Usuários
Crie uma nova planilha chamada "Usuários", coloque cabeçalhos: Usuário, Senha, Nível. Preencha com os dados de teste.
Passo 2 – Criar o UserForm de Login
No editor do VBA (ALT + F11), insira um novo UserForm:
TextBox: txtUsuario
TextBox: txtSenha (com PasswordChar = *)
Botão: btnLogin
Passo 3 – Criar o Código de Autenticação
No botão de login, adicione este código básico:
Private Sub btnLogin_Click()
Dim ws As Worksheet
Dim i As Integer
Set ws = ThisWorkbook.Sheets("Usuários")
For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If txtUsuario.Text = ws.Cells(i, 1).Value And txtSenha.Text = ws.Cells(i, 2).Value Then
MsgBox "Bem-vindo, " & txtUsuario.Text nivel = ws.Cells(i, 3).Value Me.Hide Call RedirecionaPorNivel
Exit Sub
End If
Next i
MsgBox "Usuário ou senha incorretos!", vbExclamation
End Sub
Passo 4 – Criar a Função RedirecionaPorNivel
Sub RedirecionaPorNivel()
Select Case nivel
Case "Admin"
Sheets("Admin").Visible = True
Case "Usuário"
Sheets("Usuario").Visible = True
Case "Visualizador"
Sheets("Visual").Visible = True
End Select
End Sub
Passo 5 – Ocultar as Planilhas Iniciais
No evento de abertura da planilha:
Private Sub Workbook_Open()
Sheets("Admin").Visible = xlSheetVeryHidden
Sheets("Usuario").Visible = xlSheetVeryHidden
Sheets("Visual").Visible = xlSheetVeryHidden
UserForm1.Show
End Sub
Personalizando o Controle de Acesso
Mensagens de boas-vindas personalizadas
Adicione um toque especial com:
MsgBox "Olá, " & txtUsuario.Text & "! Você está logado como " & nivel
Redirecionamento inteligente
Você pode direcionar o usuário diretamente à sua aba de trabalho ou painel específico, sem mostrar as demais planilhas.
Protegendo o código VBA
Não esqueça de proteger seu projeto VBA em: Ferramentas > Propriedades do VBA > Proteção.
Boas Práticas e Dicas Extras
Evite senhas visíveis
Nunca coloque senhas à vista em células sem proteção. Use xlSheetVeryHidden.
Funções de criptografia básica
Se quiser dar um passo a mais, crie uma função simples para codificar/descodificar senhas.
Automatize a ocultação das abas
Você pode garantir que tudo fique oculto e controlado com VBA ao abrir e fechar a planilha.
Conclusão
Criar um sistema de login e controle de acesso por nível no Excel com VBA é mais fácil do que parece — e pode transformar a maneira como você compartilha suas planilhas com clientes ou equipes.
Além de dar um ar profissional, você garante segurança, praticidade e organização. Agora é só testar, adaptar e surpreender quem usar sua planilha!
FAQs – Perguntas Frequentes
1. Preciso de qual versão do Excel para rodar esse código?Qualquer versão que suporte VBA (geralmente Excel 2010 em diante).
2. Posso esconder completamente as planilhas dos outros usuários?Sim! Usando xlSheetVeryHidden e controlando a visibilidade por VBA.
3. É possível criptografar as senhas?Sim, mas exigirá funções adicionais em VBA para codificar/decodificar.
4. Dá para usar sem UserForm?Sim, mas a experiência fica mais limitada. O UserForm deixa tudo mais profissional.
5. Posso criar diferentes níveis com mais permissões?Claro! Basta ajustar o código da função RedirecionaPorNivel.
Komentar