Tela Login Excel VBA
Tela login Excel VBA permite que apenas pessoas autorizadas tenham acesso ao seu sistema, existem diversas maneiras de proteger uma pasta de trabalho do Excel, porém a tela de login, deixa sua planilha com uma cara de sistema avançado, modificando a interação do usuário e tornando sua planilha mais profissional.
O método que iremos ensinar neste tutorial consiste em uma tela de login onde será criado um usuário e uma senha para serem colocados toda vez que o documento for aberto.
Abra o seu arquivo do Excel e pressione Alt+F11 para abrir a janela do VBA. O primeiro passo é adicionar um Formulário. Clique no menu inserir, após isso, clique em Userform.
Conforme imagem:
Para você entender um pouco como foi feito a tela de login em Excel VBA vou explicar o que é Excel VBA.
VBA é uma ferramenta que pode ser usada no Microsoft Excel para dar mais opções de controle e edição de uma planilha. Basicamente, o VBA atua como uma linguagem de programação à serviço do usuário, permitindo a criação de macros e a automatização de diversos processos dentro das planilhas e tabelas desenvolvidas no Excel.
Criamos uma função Sub carrega_foto para que ao digitar o login do usuário o sistema possar carregar a foto.
Sintaxe utilizada na função Sub carrega_foto.
Sub carrega_foto()
Application.ScreenUpdating = False
Set plan = Sheets(“Users”)
plan.Visible = xlSheetVisible
Dim local_imagem As String
Dim cod As String
linha = 2
cod = txt_user
Sheets(“Users”).Select
Do Until Sheets(“Users”).Cells(linha, 2) = “”
If Sheets(“Users”).Cells(linha, 2) = cod Then
Sheets(“Users”).Cells(linha, 2).Select
ActiveCell.Offset(0, 5).Select
local_imagem = ActiveCell
On Error Resume Next
Application.DisplayAlerts = False
Me.Image1.Picture = LoadPicture(local_imagem)
Image1.PictureSizeMode = fmPictureSizeModeStretch
Exit Sub
Else
End If
linha = linha + 1
Loop
Application.ScreenUpdating = True
End Sub
Após inserirmos o comando carrega_fotos precisamos criar uma guia com o nome USERS para colocarmos os usuários cadastrado para o login.
O botão entrar foi utilizado o comando abaixo:
If Me.txt_user = “” Then
MsgBox “Preencha o campo usuário”, vbExclamation, “Erro Login”
Me.txt_user.SetFocus
Exit Sub
ElseIf Me.txt_senha = “” Then
MsgBox “Preencha o campo senha”, vbExclamation, “Erro Login”
Me.txt_senha.SetFocus
Exit Sub
End If
Dim linha As Integer
Dim plan As Worksheet
Dim senha As String
Set plan = Sheets(“Users”)
linha = plan.Range(“B:B”).Find(B).Row
senha = plan.Cells(linha, 3)
Unload Me
Sheets(“Users”).Select
O botão sair foi utizado o camando abaixo:
ActiveWorkbook.Save
Application.Quit
Veja no vídeo como foi feito na prática.
Usuário e senha da tela login: ADMIN – 123
Tela Login Excel VBA – 02
Sintaxe utilizada para maximizar o Form quando inicializar o Excel.
Private Sub UserForm_Initialize()
Application.WindowState = xlMaximized
Me.Height = Application.Height
Me.Width = Application.Width
Me.Left = Application.Left
Me.Top = Application.Top
End Sub
Os demais comando está disponível na planilha com os código-fonte para estudos. Também deixei as imagens utilizada na planilha para vocês fazer o exercício na prática.
Aprenda também as super dicas:
6 Dicas para programar em Excel VBA
Usuário e senha da tela login: ADMIN – 123
Planilhas compatíveis com office 2007 em diante. Caso encontre alguma dificuldade para usar ou baixar nossas planilhas favor usar os comentários abaixo que em breve retornaremos.