Colocar login no Excel VBA
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.
Especialista em Excel
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.
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:
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:
7. Altere a propriedade name para "frmLogin", e Caption para "Login";
8. Insira os componentes abaixo, e desenhe conforme abaixo:
9. Insira um Quadro e apague a propriedade Caption conforme o desenho abaixo:
10. Insira um botão de comando, e altere a propriedade Caption para OK, conforme o desenho:
11. Insira dois rótulos, alterando suas propriedades Caption para Usuário: e Senha:
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.
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;
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.
Segue abaixo no botão de download o exemplo da planilha criada.
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Abraço
Marcos Rieper
Este conteúdo foi útil?
Continue lendo

Como Criar Suplementos VBA no Excel
Criar um suplemento VBA no Excel é uma das formas mais poderosas de transformar suas automações em ferramentas profissionais e reutilizáveis.

Número por Extenso no Excel
Como escrever o número por extenso no Excel com fórmulas e VBA. Passo-a-passo tutorial e download gratuito de planilha com exemplo.

Suplemento Excel Gratuito - Guia do Excel
Como instalar um suplemento no Excel e também como instalar o suplemento gratuito do Guia do Excel. Recursos para te dar mais agilidade.












