top of page

Como Criar um Código em VBA para Controle de Acesso com Nível de Login no Excel

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

Dinilai 0 dari 5 bintang.
Belum ada penilaian

Tambahkan penilaian
bottom of page