Fala, planilheiro de plantão! Já imaginou ter um controle de acesso no seu arquivo do Excel, impedindo que curiosos mexam nos seus dados? Hoje vou te mostrar como criar um sistema de login no Excel com VBA para proteger suas informações e permitir acesso apenas para usuários autorizados. Bora colocar segurança nessas planilhas!
Sistema de Login no Excel com VBA – Preparando o Terreno
Antes de começarmos a jornada, vou te apresentar a “Área 51” do projeto. Crie um arquivo e coloque duas planilhas, uma com o nome HOME, que será a nossa página inicial, e a outra com o nome ACESSO. Nesta, vamos adicionar o e-mail e a senha de acesso à planilha.
Na célula A1, digite “E-MAIL” e na B1, digite “SENHA”. Como pode ver no modelo abaixo, já deixei um usuário e senha prontos. Se quiser, pode baixar essa planilha clicando no botão abaixo.

Dinâmica do projeto
Este pequeno projeto terá a seguinte lógica: teremos dois tipos de acesso. O primeiro é o do usuário comum, cujos dados de acesso estarão registrados na planilha “ACESSO”. O segundo é o usuário MASTER, que terá uma senha armazenada diretamente no código da macro.

VBA e Macros – Automação Inteligente para Economizar Tempo e Maximizar Resultados
Quer dominar o Excel e automatizar tarefas repetitivas? Com este guia best-seller, você aprenderá a criar macros, desenvolver automações e construir aplicações poderosas. Explore técnicas avançadas para tabelas dinâmicas, consultas web e integração com bancos de dados.
👉 Garanta o seu aqui!
A ideia é a seguinte, jovem padawan: quando você acessar com um usuário padrão, a planilha ACESSO será bloqueada e permanecerá oculta. Caso você acesse com a senha MASTER, essa planilha será exibida e poderá ser modificada.
Criando um Formulário de Login no Excel
Para começar, precisamos criar um formulário de login no Excel com VBA. Esse formulário terá campos para o usuário digitar o nome e a senha, além de botões para entrar e cancelar. No Editor do VBA (ALT + F11), siga os passos:
1. Clique em Inserir/UserForm
2. Vamos alterar o nome do formulário e o título da barra. Altere as propriedades assinaladas abaixo

3. Para personalizar nosso Sistema de Login no Excel com VBA, vamos colocar uma logo. Clique no ícone imagem na Caixa de Ferramentas e desenhe um retângulo no formulário, depois, altere as propriedades.

4. Próximo passo é inserir a label
para informar o que cada caixa vai armazenar. Já adicione as labels do “E-mail” e “Senha”.

4. Agora vamos para as caixas de texto
. Uma para o usuário inserir o e-mail e outra para inserir a senha do nosso Sistema de Login no Excel com VBA.
Em propriedades da caixa de texto
que receberá o e-mail do usuário, em (Name) coloque como txtEmail e na caixa de senha, altere o (Name) para txtSenha.
Outro detalhe importante, seria na caixa de texto txtSenha, na propriedade PasswordChar colocar um x. Isso oculta o que for digitado na caixa de texto do nosso sistema de login no Excel com VBA.

5. O quinto e último passo seria inserir o botão de comando
. Altere o (Name) para cmdEntrar e o Caption para “Entrar”

Processo criado, nossa caixa de login está pronta.
Criando a Lógica de Verificação de Login
Antes de programar o formulário para o nosso Sistema de Login no Excel com VBA, vamos criar uma variável global que atuará como uma verificadora se o login foi realizado com sucesso ou não. Clique em Inserir/Módulo.
Public LoginSucesso As Boolean
Feito este processo e com o formulário pronto, agora é hora de programar a verificação de login. Acesse o frmLogin e dê um duplo quique no botão cmdEntrar e insira código no evento Click do botão de login:
Private Sub cmdEntrar_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("ACESSO")
Dim usuario As String, senha As String, senhaMaster As String
Dim ultimaLinha As Integer, i As Integer, encontrado As Boolean
usuario = Me.txtemail.Value
senha = Me.txtsenha.Value
senhaMaster = "MASTER123" ' Senha do administrador
ultimaLinha = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
encontrado = False
' Verifica se é administrador
If senha = senhaMaster Then
Module1.LoginSucesso = True
MsgBox "Acesso concedido como administrador!", vbInformation, "Admin"
Sheets("ACESSO").Visible = xlSheetVisible
Unload Me
Exit Sub
End If
' Verifica usuário comum
For i = 2 To ultimaLinha
If usuario = ws.Cells(i, 1).Value And senha = ws.Cells(i, 2).Value Then
encontrado = True
Exit For
End If
Next i
If encontrado Then
LoginSucesso = True
MsgBox "Login realizado com sucesso!", vbInformation, "Acesso Permitido"
Sheets("ACESSO").Visible = xlSheetVeryHidden ' Oculta a planilha de acessos
Unload Me
Else
MsgBox "Usuário ou senha incorretos!", vbCritical, "Erro"
End If
End Sub
Melhorando a Segurança e Iniciando o Formulário
Ao iniciar o arquivo, vamos garantir que o formulário abra que a planilha “ACESSO” sempre fique oculta para os usuários comuns. Insira este código no evento Workbook_Open do ThisWorkbook:
Private Sub Workbook_Open()
' Oculta a planilha ACESSO e o Excel
Sheets("ACESSO").Visible = xlSheetVeryHidden
Application.Visible = False
' Inicializa a variável de login
LoginSucesso = False
' Exibe o formulário de login
frmLogin.Show vbModal
' Verifica se o login foi bem-sucedido após fechar o formulário
If LoginSucesso Then
Application.Visible = True ' Restaura a visibilidade do Excel
Else
' Impede a mensagem de salvamento e força o fechamento sem salvar
Application.DisplayAlerts = False
ThisWorkbook.Saved = True ' Marca como salvo para evitar o prompt
Application.Quit ' Fecha o Excel completamente
End If
End Sub
Isso evita que a planilha seja acessada sem permissão ao abrir o arquivo.
Conclusão
Criar um sistema de login no Excel com VBA é uma forma eficaz de proteger informações sensíveis e garantir que apenas pessoas autorizadas tenham acesso ao arquivo. Com esse modelo, um administrador pode acessar e editar a planilha “ACESSO”, enquanto os usuários comuns ficam restritos apenas à “HOME”. Teste esse método e veja como ele pode melhorar a segurança dos seus dados!