Como Criar Tela de Login no Excel VBA

MR
Marcos Rieper

Especialista em Excel

20 de dezembro de 2021 Atualizado 08 de julho de 2026 4 min de leitura
Criar tela de login Excel VBA

Veja neste artigo passo-a-passo como criar uma tela de login no Excel com VBA.

No resultado final criaremos uma tela de login que ao realizar o login iremos exibir ou ocultar planilhas conforme o usuário.

Criar a Planilha de Controle de Acesso

Para o controle de acesso nós criamos uma planilha com os seguintes campos:

  • Usuário: Neste campo temos o nome do usuário, ele irá se repetir.
  • Senha: Coloque a senha que irá se repetir também para o mesmo usuário.
  • Formulário: E em formulário, ou podemos chamar também de planilha, você coloca o nome da planilha.

Eles serão utilizados para filtrar e liberar as planilhas conforme o usuário do login.

Criando o Formulário do Login VBA

A tela de login Excel será criada no VBA.

Para isso você deve inicialmente habilitar as macros neste link.

Após isto acesse em ALT+F11 ou clique na guia Desenvolvedor e em Visual Basic.

No VBA clique em Inserir -> Formulário e altere a propriedade name para frmLogin.

Em seguida clique no botão com as ferramentas conforme acima e abra a caixa de ferramentas.

Nele nós desenhamos usando o componente Rótulo ou Label para desenhar o texto na tela.

Altere a propriedade Caption colocando Login.

Adicione outros dois com os nomes Usuário e Senha.

Em seguida abra o Powerpoint e desenhe uma linha, ela será colada abaixo do login

Volte para o VBA e insira o objeto Imagem, desenhando logo abaixo de Login.

Volte ao powerpoint e copie a imagem, e depois na propriedade picture do componente Imagem que adicionou cole.

Clique agora na caixa de ferramentas e adicione o componente Caixa de Texto ou TextBox.

Adicione um para Usuário e outro para Senha, altere o name para txtUsuario e txtSenha respectivamente.

E por fim adicione o botão no componente Button ou Botão da caixa de ferramentas do VBA Excel.

Feito isso nós temos então o formulário pronto.

Código VBA para o Login

Agora vamos inserir os códigos VBA para realizar o login

Clique em Inserir -> Módulo e no módulo criado coloque o seguinte código:

Public Sub lsShow()
    frmLogin.Show
End Sub

Public Sub lsDesabilitar()
    On Error Resume Next

    ActiveWorkbook.Unprotect Password = "123"
        
    Plan1.Visible = xlSheetVeryHidden
    Plan2.Visible = xlSheetVeryHidden
    Plan3.Visible = xlSheetVeryHidden
    Plan4.Visible = xlSheetVeryHidden
    
    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
End Sub

Então temos acima o código em lsShow para exibir o formulário e em lsDesabilitar um código para ocultar todas as planilhas e proteger a estrutura.

Agora vamos inserir o código para o formulário VBA.

Clique então no formulário dando duplo clique no formulário e depois colando o seguinte código:

Private Sub CommandButton1_Click()
    Dim lTotal      As Long
    Dim lContador   As Long
    Dim lResultado  As String
    
    lsDesabilitar
    
    Sheets("Senha").Range("$A$1:$C$50000").AutoFilter Field:=1, Criteria1:="=" & txtUsuario.Text
    Sheets("Senha").Range("$A$1:$C$50000").AutoFilter Field:=2, Criteria1:="=" & txtSenha.Text
    
    lTotal = WorksheetFunction.Subtotal(3, Sheets("Senha").Range("A:A"))
    
    If lTotal > 1 Then
        ActiveWorkbook.Unprotect Password:="123"
        
        For lContador = 2 To lTotal
            Sheets(Sheets("Senha").Range("C" & lContador).Value).Visible = True
        Next
        
        Unload frmLogin
    Else
        lResultado = MsgBox("O login está incorreto" + vbCrLf + "Tentar novamente?", vbYesNo, "Login incorreto")
        
        If lResultado = vbYes Then
            frmLogin.txtUsuario.SetFocus
        Else
            Application.Visible = True
            ThisWorkbook.Save
            ThisWorkbook.Close
        End If
    End If
    
End Sub

Private Sub txtUsuario_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub UserForm_Activate()
    txtUsuario.SetFocus
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        Cancel = True
    End If
End Sub

Em txtUsuario_KeyPress você tem um código para colocar em maiúsculo todos os dados digitados.

No UserForm_Activate ele dá foco no campo txtUsuario.

Em userForm_QueryClose ele irá bloquear para fechar a tela de login pelo botão X no topo.

No botão CommandButton1_Click nós temos então a verificação do login aonde irá filtrar o usuário e senha conforme digitado e então se for encontrado é feito um loop e liberadas as planilhas que aparecem no filtro.

Por fim, clique em EstaPasta_de_Trabalho e cole o seguinte código que vai abrir o formulário ao abrir a pasta de trabalho.

Private Sub Workbook_Open()
    lsDesabilitar
    frmLogin.Show
End Sub

O resultado é a tela acima, recomendo também assistir o vídeo ao topo deste artigo, aonde é demonstrado a criação desde o zero, e abaixo temos também o download da planilha.

Os usuários e senhas para teste são:

  • Usuário: ADM
  • Senha: 123456

ou

  • Usuário: MARCOS
  • Senha: 123

Download

Realize o download da planilha deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Download — baixe aqui: Tela de Login Excel VBA

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado