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.
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
ActiveWorkbook.Save
Application.Quit
Veja no vídeo como foi feito na prática.
Usuário e senha da tela login: ADMIN – 123
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.
Gráfico de mapas no Excel, veja que interessante está ferramenta onde mostra a população por…
Calendário anual no Excel, desenvolvido com as funções do Excel e muito útil para planejamento…
Formatação condicional no Excel na linha inteira, veja que interessante está formatação no Excel, conforme…
Macros para armazenar dados no Excel, vamos entender ou pouco sobre o conceito de macros…
Função ÉERROS no Excel é utilizada para verificar se uma célula contém algum tipo de…
Função subtotal no Excel permite calcular subtotais de uma lista ou intervalo de dados, aplicando…