Colocar login no Excel VBA

MR
Marcos Rieper

Especialista em Excel

07 de abril de 2015 Atualizado 08 de julho de 2026 3 min de leitura
Colocar login no Excel VBA

Objetivo: Demonstrar como colocar login no Excel VBA permitindo definir os usuários que terão acesso a determinadas planilhas de uma pasta de trabalho do Excel.

Login Excel

Este artigo demonstra como criar um login no Excel que restrinja o acesso ás planilhas de uma determinada pasta de trabalho do Excel.

Vamos passo-a-passo:

1. Criar na pasta de trabalho uma planilha nomeada como "Senha";

2. Crie três colunas, Usuário, Senha e Formulário;

3. Na primeira coluna digite o nome do usuário, senha e o formulário que o usuário terá acesso;

4. O nome do usuário e a senha devem ser repetidos se o mesmo tiver acesso a mais de uma planilha, veja a imagem:

Login Excel 1

5. Abra o Visual Basic, clicando na guia Desenvolvedor->Visual Basic, se não estiver habilitada a aba, veja aqui como habilitar: Habilitar guia desenvolvedor.

6. Clique em Inserir->UserForm:

Login Excel 3

7. Altere a propriedade name para "frmLogin", e Caption para "Login";

8. Insira os componentes abaixo, e desenhe conforme abaixo:

Login Excel 3

9. Insira um Quadro e apague a propriedade Caption conforme o desenho abaixo:

Login Excel 4

10. Insira um botão de comando, e altere a propriedade Caption para OK, conforme o desenho:

Login Excel 5

11. Insira dois rótulos, alterando suas propriedades Caption para Usuário: e Senha:

Login Excel 6

12. Insira duas caixas de texto conforme abaixo, a primeira nomeie como txtUsuario e a segunda como txtSenha, na txtSenha altere a propriedade PasswordChar para *, para que não sejam exibidos os caracteres da senha.

Login Excel 7

13. Clicar duas vezes sobre o formulário e colar o seguinte código fonte:

Private Sub CommandButton1_Click()
    Dim lTotal      As Long
    Dim lContador   As Long
    
    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 lContador
        
        Unload frmLogin
    Else
        MsgBox "Usuário ou senha incorretos!"
    End If
    
    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
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_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 13 Then  ' The ENTER key.
       SendKeys "{tab}"    ' Set the focus to the next control.
       KeyAscii = 0        ' Ignore this key.
    End If
End Sub

14. Clique na guia Inserir e selecione Módulo, no módulo criado colar o seguinte código fonte:

Public Sub lsShow()
    frmLogin.Show
End Sub

Public Sub lsDesabilitar()
    ActiveWorkbook.Unprotect Password:="123"
    Sheets("Plan1").Visible = False
    Sheets("Plan2").Visible = False
    Sheets("Plan3").Visible = False
    Sheets("Senha").Visible = False
    ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
End Sub

15. Volar  para a pasta de trabalho do Excel e criar uma planilha chamada Menu;

16. Desenhar um botão utilizando o botão Formas;

Login Excel 8

17. Clicar com botão direito sobre a forma criada e selecionar a opção Atribuir Macro, selecionar a opção lsShow, que irá chamar a planilha.

18. Teste a tela de login clicando sobre o botão, a tela deverá ser exibida, digite o nome do usuário e a senha e verifique se as guias definidas são habilitadas, lembrando que se os nomes forem diferentes ou se houverem novas planilhas as mesmas devem ser configuradas dentro do código fonte, substituindo as planilhas Plan1, Plan2, etc, pelos nomes das planilhas que houverem na pasta de trabalho.

Cursos do Guia do Excel - Destaque-se no mercado de trabalho
Login Excel

Segue abaixo no botão de download o exemplo da planilha criada.

Download — baixe aqui: Login no Excel

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

Abraço

Marcos Rieper

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