Tela de Login no Excel com Banco de Dados Access

Neste artigo você aprenderá como criar uma tela de login no Excel com Banco de Dados Access com download da planilha gratuita.

Criar Banco de Dados Access para Login no Excel

No nosso exemplo criamos uma tabela chamada Usuarios com os campos ID, NOME e SENHA conforme abaixo.

Os dados serão consultados à partir desta tabela dentro do Excel para verificar se o usuário e senha estão corretos e então permitir o acesso a pasta de trabalho.

tela de login excel 1

Tabela de Usuários

Na pasta de trabalho criamos uma planilha com a tabela Usuários e colocamos os nomes dos usuários que temos na nossa tabela Access.

Pode ser também alterado o exemplo para que os usuários sejam cadastrados automaticamente por VBA.

Formulário de Login no Excel com Banco Access

Primeiro é necessário Habilitar Macros no Excel e em seguida clicamos no botão Visual Basic da guia Desenvolvedor.

Então clicamos no botão Inserir->Formulário e o mesmo foi inserido conforme temos abaixo.

No vídeo ao topo do artigo você tem passo-a-passo como criar o formulário de login no Excel, inclusive com as imagens.

Conexão com Banco de Dados Acces no Excel

Para realizar a conexão com o banco de dados Access usando VBA no Excel temos o seguinte código:

Option Explicit

Global cnn As ADODB.Connection
Global lUsuario As String

Public Sub gsConectarBD()
    Dim SQL As String
    
    If cnn Is Nothing Then
        Set cnn = New ADODB.Connection
    End If
    
    If cnn.State <> 1 Then
        SQL = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
              "Data Source=" & ThisWorkbook.Path & "\BD\BD.accdb;" & " Jet OLEDB:Database Password=123456"
        
        cnn.Open SQL
    End If
End Sub

Public Sub gsDesconectarBD()
    On Error Resume Next
    Dim SQL As String
    
    cnn.Close
End Sub

Clique então no botão Inserir->Módulo e mude para Conectar o campo Name, veja como fica abaixo:

Código VBA para Consultar Banco Access Usando Excel

Para realizar a consulta do banco de dados Access no Visual Basic clique em Inserir->Módulo de classe.

Então copiamos o código e colocamos no módulo de classe cria com o nome clUsuarios.

Public Function lfValidarUsuario(ByVal lUser As String, ByVal lPass As String) As Boolean
    On Error GoTo TratarErro
    
    Dim lrs As ADODB.Recordset
    Set lrs = New ADODB.Recordset
    
    lfLogin = False
    
    lsql = "SELECT 1 FROM USUARIOS WHERE DESNOME = '@USER' AND DESSENHA = '@PASS'"
    
    lsql = Replace(lsql, "@USER", lUser)
    lsql = Replace(lsql, "@PASS", lPass)
    
    gsConectarBD
    
    lrs.Open lsql, cnn, adOpenStatic, adLockBatchOptimistic
    
    If lrs.RecordCount > 0 Then
        lfValidarUsuario = True
    Else
        lfValidarUsuario = False
    End If
    
    
TratarErro:
    GoTo Sair
Sair:
    Set lrs = Nothing
    
    Exit Function
End Function

Após isso temos o código VBA para uma função que valida se o usuário e senha digitados no formulário estão corretos.

Funcionamento da Tela de Login no Excel com VBA

Após o desenvolvimento, conforme temos no vídeo ao topo do artigo, teremos o seguinte formulário que será exibido ao abrir a pasta de trabalho.

Então ao selecionar a combo você terá o nome do usuário que está na lista e poderá colocar a senha.

Clicando no botão ao lado da senha, ela será exibida ou ocultada, conforme clicar.

Após clicar no botão Login, você terá a pasta de trabalho aberta e poderá trabalhar com ela, senão se estiver incorreta a senha e se cancelar a entrada, será fechada a pasta de trabalho.

Download Planilha Tela de Login no Excel com BD Access

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Baixe a planilha

Sair da versão mobile