Como Criar um Sistema de Login no Excel com VBA

Aprenda a criar um sistema de login no Excel com VBA para controlar o acesso a suas planilhas e proteger seus dados. Tutorial passo a passo.

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!

Comentários

0 0 votos
Classificação do artigo
Inscrever-se
Notificar de
guest
0 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários

Outros Artigos e Tutoriais

Sobre o Autor

Desenvolvedor por formação, solucionador de problemas por profissão e apaixonado por compartilhar conhecimento.

Sigam-me os Bons!

Siga-me nas redes sociais e participe da nossa comunidade de aprendizado!

newsletter

Aprenda no seu ritmo. Inscreva-se e receba materiais que fazem diferença.

0
Adoraria saber sua opinião, comente.x

Obrigado por essa dose de cafeína para o blog! 🍵

Com um café, você ajuda a manter as ideias quentes, os códigos rodando e o conteúdo fresquinho no ar.