Quer retornar mais segurança aos seus documentos do Excel? Deseja restringir
seu acesse utilizando campos de login? A partir de comandos VBA é possível criar
uma tela de login para acesso às informações contidas no documento, mediante
usuário e senha.
Para darmos início ao processo abra um documento em branco e crie uma nova
planilha chamada "Senha" e nela as colunas "Usuário", "Senha" e "Formulário".
Aqui você irá definir a quais planilhas (chamamos de "formulário") o usuário tem
acesso, seu login e sua senha. Lembrando que o administrador deve ter acesso à
planilha "Senha", ok? Pois só assim ele poderá adicionar novos users, novas
senhas, mudar permissões de acesso, etc.
Repare que devemos repetir o processo para todos as planilhas que o usuário tiver
acesso. No exemplo acima dei acesso ao admnistrador para todos os locais.
Criando a tela de login
A criação da tela é uma das etapas mais importante e um pouco mais complexa
que as demais. Vá à aba Desenvolvedor e clique em Visual Basic, onde
seremos direcionados á janela de edição de comandos VBA. (se não estiver vendo
a guia desenvolvedor, clique aqui e coloque-a disponível em questões de minutos).
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
Unload frmLogin
Else
MsgBox "Usuário ou senha incorretos!"
End If
Agora vá lá na planilha e crie uma planilha chamada "Menu". Nela vamos criar um
botão, conforme já aprendemos nesta aula. Depois você clica com o botão direito
nele e em "Atribuir macro...". Na nova janela que aparecer selecione "isShow" e
dê um ok.
Protinho. Agora feche a janela e salve seu documento como Modo Habilitado
para Macro, caso contrário, todo trabalho será perdido.
Agora, toda vez que algum usuário tentar acessar seu documento precisará entrar
com login e senha. Abaixo o download da mesma para você ver como ficou nosso
trabalho.
Versão 2.0
Refizemos totalmente o código e as explicações, hoje, dia 20/10/2015. Modelo
novo e funcionando 100%.
Comentários
Sobre
Equipe
Contato
Curso
Artigos
Dicas
Planilhas
Tutoriais
Concursos
VBA
Notícias
5
LOJA GUIADOEXCEL
CURSOS
CONSULTORIA
Vamos passo-a-passo:
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:
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:
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"))
ActiveWorkbook.Unprotect Password:="123"
Sheets(Sheets("Senha").Range("C" &
lContador).Value).Visible = True
Next lContador
Unload frmLogin
Else
End If
End Sub
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
txtUsuario.SetFocus
End Sub
End If
End Sub
14. Clique na guia Inserir e selecione Módulo, no módulo criado colar o seguinte
código fonte:
frmLogin.Show
End Sub
ActiveWorkbook.Unprotect Password:="123"
Sheets("Plan1").Visible = False
Sheets("Plan2").Visible = False
Sheets("Plan3").Visible = False
Sheets("Senha").Visible = False
End Sub
15. Volar para a pasta de trabalho do Excel e criar uma planilha chamada Menu;
[saiba_mais]
18. Teste a tela de login clicando sobre o botão, a tela deverá ser exibida, digite o nome
configuradas dentro do código fonte, substituindo as planilhas Plan1, Plan2, etc, pelos
nomes das planilhas que houverem na pasta de trabalho.
Abraço
Marcos Rieper
Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui
você encontra tudo sobre Excel, seja de nível básico, intermediário, avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e
confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
CURSOS
Curso Excel Básico – 1 ano de acesso
R$99,00
COMPRAR
CURSOS
Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado –
Acesso Vitalício
R$218,00 R$179,00
COMPRAR
CURSOS
Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso
VBA Excel + LP – Acesso Vitalício
R$357,00 R$249,00
COMPRAR
CURSOS
Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de
programação – Acesso Vitalício
R$258,00 R$199,00
COMPRAR
Artigos Relacionados
24 Comentários
1. CÉSAR disse:
Bom dia!
Se for possível gostaria de saber como posso montar uma macro para alterar a
altura de linhas baseado em um números resultado de fórmula em células.
Responder
Boa tarde,
Muito obrigado pelo seu contato. Pode encaminhar sua dúvida para o nosso
Abraço
Marcos Rieper
Responder
2. Jessivan disse:
Responder
Marcos Rieper
Responder
Boa tarde,
Responder
Abraço
Marcos Rieper
Responder
4. ERIC disse:
24 de julho de 2015 às 11:05
Excelente
CONFIGURAÇÕES
Responder
5. Antonio disse:
Responder
6. Lorrana disse:
Bom dia,
Teria algum código que eu possa incluir para dar logout automaticamente antes
de fechar a pasta?
Responder
Boa noite!
procedimento.
No aguardo,
Atenciosamente,
Rodrigo Santos
Responder
resolvido!
http://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=4018
Responder
Marcos,
todos os usuários abrem a primeira aba. mas a senha só consta para o adm e
Responder
execução “9” subscrito fora do intervalo” clico em depurar e apareci que isso
Responder
Boa tarde!
Responder
encontrei um erro que preciso de ajuda para resolver, usando o arquivo como
Responder
Eu baixei essa planilha, criando vários usuários, e cada usuário iria ter acesso a
_______________________________________________________________
_______
For lContador = 2 To lTotal
Sheets(Sheets(“Senha”).Range(“c” & lContador).Value).Visible = True
Next lContador
_______________________________________________________________
________
“C”. No caso ele sempre irá selecionar a range “C:2”, Conclui que
independente os logins criados ele sempre irá selecionar C:2 na planilha senha,
pois os outros filtro ele não são ocultados assim sempre selecionado o mesmo.
_______________________________________________________________
________
refazendo o vba inteiro veja como ficou, “Marcos Rieper”, SEGUE PARA SER
NOVO MODELO.
_______________________________________________________________
________
If txtUsuario = “” Then
.AutoFilterMode = False
txtUsuario.Text
txtSenha.Text
End With
Unload frmLogin
Sheets(cél.Value).Visible = True
Next cél
Else
End Sub
_______________________________________________________________
________
Responder
o Renan disse:
Responder
o Hildebranda disse:
Gabriel, no seu código em que corrigiu o erro como devo cadastrar o usuário e
senha é diferente?
Responder
Responder
Responder
sempre vem a Plan1. Fiz o teste aqui em uma planilha do meu trabalho e
sempre abre as abas na ordem (Exemplo: Coloquei para o marcos abrir a Plan8,
Poderia me ajudar?
Obrigado
Responder
Boa tarde,
Responder
Marcos Rieper,
Responder
Ola,
mas
Responder
com *
Comentário
Nome *
E-mail *
Site
This site uses Akismet to reduce spam. Learn how your comment data is processed.
BUSCA
CATEGORIAS
Avançado
Básico
Excel
Featured
Geral
Gráfico
Intermediário
Jogos
Loja
Nível
planilhas
Planilhas
planilhas prontas
VBA
Marcos
Rieper
MAIS POPULARES
Download de XML de NFe Excel
Planilha Matriz BCG Excel
Mudar cor da célula ao clicar Excel
Validação de Dados Tripla Dinâmica no Excel
ÚLTIMOS COMENTÁRIOS
Soluções em Excel
Desenvolvimento de soluções
Consultoria Excel
Recrutamento e seleção
Gantt Excel
NF-e
Consultoria VBA
Gráfico de Gantt
XML
Cursos
Guia do Excel
Gráficos avançados
Cadastro Excel
Administração industrial
Especialistas Excel
Dicas profissionais
Funções avançadas
Power BI
Análise de dados
Cenários em Excel
Gerenciador de cenários
Estoque
Teste de hipóteses
Função própria
Validar email
Planilha Impeachment
Cont.ses
Report profissional
Dicas Excel
Tutorial VBA
Treinamento
Download gráfico
Gráfico passo-a-passo
Redimensionamento automático
SOBRE NÓS
Guia do Excel é o seu canal de conhecimento em Excel e VBA. Sinta-se á vontade para dividir o seu conhecimento enviando também as suas matérias par ao site.
SIGA-NOS