VBA - Controle de Usuários na sua Planilha
HTML-код
- Опубликовано: 15 окт 2024
- Quer saber mais de Excel e ser valorizado no mercado de trabalho e poder ganhar salários maiores?
Conheça meu curso Excel Essentials
yeraexplica.co...
ACESSE MEU INSTAGRAM PARA MAIS CONTEÚDOS:
/ yeraexplica
Nesta aula você vai aprender como criar um controle de usuários e módulos para sua planilha.
O arquivo utilizado para esta aula está disponível para download aqui:
bit.ly/2Td2UUF
************ Comunidade Yera de Excel *******
Faça parte dessa comunidade dinâmica e tenha conteúdos exclusivos e atualizados semanalmente
pay.kiwify.com...
*************************************************
****** OUTROS VÍDEOS **************
Tabela Dinâmica, Gráfico e Segmentação de Dados. Criando o seu painel
• Tabela Dinâmica, Gráfi...
Dashboard - Episódio 01 - Plano de Fundo e Histórico de Faturamento
• Dashboard - Episódio 0...
VBA e Macros - O que é? Por onde começar?
• VBA e Macros - O que é...
************************************
Yera, que aula maravilhosa!!! Simples, direto ao ponto e fácil de entender... Parabéns professor!!! 😃👏👏👏👏
Ganhou mais um inscrito!
Valeu meu caro! Tamo junto!
Em 35 minutos o cara fez uma planilha software melhor do que o sistema que pagam caro no meu trabalho😂
kkkkkkkkkkkkkkkkkkkk
Excelente aula.
Ótima aula! Algumas dúvidas:
1- Caso eu compartilhe essa planilha com alguém que entenda de excel, ela consegue acessar as configurações do VBA e 'burlar' para poder acessar todas as abas, dando permissão ou alterando senhas?
2- Tem algum meio de eu controlar o acesso das pessoas quando eu compartilhar a planilha? Tipo, se eu enviar essa planilha para alguém, mas não quero que ela envie para outra pessoa (pois basta ela compartilhar a senha dela), tem como?
3 - Tem como 'travar' a planilha para ninguém poder editar mais nada? apenas em uma aba que eu quero que seja mexida?
Obrigado!
Opa Felipe, vamos lá.. o Ponto 1 e 3 são mais fáceis.. o ponto 2 já é um pouco mais complexo.
Para o ponto 1, você pode colocar senha no projeto VBA, para isso é só você clicar com o botão direito lá no projeto do VBA, ir em propriedades e colocar uma senha. Dessa forma, a pessoa só vai conseguir acessar a parte do "código do vba" se tiver a senha.
Para o ponto 3, você pode colocar senha para editar as planilhas (as abas) e aí, novamente, só mexeria quem tivesse essa senha. Isso você pode fazer lá na guia "Revisão" -> "Proteger Planilha"
Agora para o ponto 2, uma forma talvez seria criar um código que ao abrir a planilha, verificasse se a máquina ou usuário que está utilizando está previamente autorizado. É possível, mas isso gera um nível de complexidade maior.
Abração.
Sucesso!
Também estou com mesma dúvida do Felipe. Fiz uma planilha, mas quero limitar os acesso a pessoas não autorizadas. Mas se a pessoa compartilhar a planilha e a senha, qualquer um consegue entrar. É possível bloquear esse tipo de acesso "compartilhado"?
Cercar o usuário dos erros que ele pode cometer com o Excel, não tem preço. Muito boa a aula. Agradeço pela didática fácil.
Falou tudo Rodrigo! hehe. Obrigado, abraço!
Boa noite! Não sei onde estou errando, mas na hora que clico em log in está indo direto dando "SENHA INCORRETA", mas já fiz e refiz e não estou conseguindo encontrar o erro, podes me ajudar? abç
Gostei muito... boa didática... será muito útil em meus projetos.
Como é bom ler esse tipo de comentário Wagner! Fico feliz em poder ajudar. Abraço!
Gostei tanto da aula que não perdi tempo em me inscrever no seu Canal... Parabéns Professor, excelente aula.
Aí sim Luciano!!! Valeu meu caro, abração!
Gostei da aula
Valeu Fran! Abraço!
Sensacional, cara eu amei esta aula; sem enrolação, direto ao ponto eu acrescentei os códigos num projeto que estou de uma planilha compartilhada na empresa.
Show de bola Belmar! Fico feliz em ler esses comentários. Obrigado! Abração!
Muito obrigado professor... A aula é muito produtiva, implementei a funcionalidade em meus projectos, e saiu muito bem....
Que legal Hélder! Top! Sucesso
Muito obrigado
Valeu Jairo!!
Tava precisando de um exemplo de professor top demais, estava fazendo um trabalho de acesso por usuário
Que top Luis! Bom saber que estou ajudando. Sucesso!
Gostei bastante dessa aula. Muito bem explicado. Parabéns. Valeu. Deus abençoe.
Obrigado Cicero! Amém! Abração.
Agradeço pelo vídeo.
Com este vídeo pude entender melhor o funcionamento do "For".
Obrigado.
Maravilha Vinicius! Abraço!
Olá, muito obrigado pelo tempo e dedicação. Consegui implementar a planilha com todos usuários e acessos, mas não consigo compartilhar, da a mensagem que não pode ser compartilhado no Excel on-line por causa dos activeX. Pede para abrir no Excel da área de trabalho, mais aí só abre modo leitura. Tem solução para isso? Compartilhar remotamente em modo colaborativo?
O cara é bom mesmo. Obrigado pela belíssima aula.
Valeu Renato! Abraço!
Olá Lucas!!! muito bom o teu conteúdo
Valeu Luis! Muito obrigado. Abraço!
Ótimo conteúdo e uma ótima aula. Grato por compartilhar. Aprendi e vou usar nos meus humildes projetos.
Maravilha Nilson! Sucesso!
Ola,Boa noite ! parabens pela dicas ! Duvida :Botoes de abas podem ser hiperlink , comondo aceita ou somente botoes ?
Parabéns por doar um pouco do seu conhecimento para pessoas que se aventuram nesse MUNDO da Programação. Incrível essa aula.
Obrigado pelas palavras Andre! Abração!
Que aula sensacional
Obrigado Vinicius! Sucesso!
Excelente aula, parabéns Yera! Objetivo e eficaz!!
Obrigado Ferrari! Grande abraço.
@@YeraExplica Lucas, uma dúvida: qual código para que ao abrir a planilha, os textboxs login e senha estejam limpos? Percebi que mesmo ao fazer logoff, e "esquecer" de apagar o login e senha, a pessoa que abrir a planilha, meu login e senha aparecerão para quem abri-la.
Fala@@100joaosr ! Você pode usar o evento Workbook_Open dessa planilha. Ficaria mais ou menos assim: O código fica na própria pasta de trabalho que você quer aplicar e não em algum módulo.
Então lá no seu Project Explorer (onde tem os módulos), o primeiro item se chama "EstaPasta_de_Trabalho". É aqui que você pode colocar esse código:
Private Sub Workbook_Open()
'Lembrando que Plan4 aqui eu peguei do meu exemplo essa aula, assim como o nome dos campos textbox, então precisa atualizar para o seu caso.
plan4.txtUsuario.text = ""
plan4.txtSenha.text = ""
End Sub
Com isso, sempre que abrir a planilha, você limpa os campos.
Abração!
@@YeraExplica Eficaz como sempre! Muito obrigado mais uma vez.
Você esta de parabéns, realmente tem conhecimento e excelente didática
Muito obrigado meu caro, sucesso! Abraço.
Gostei muito da aula, mais um escrito.
Valeu meu caro! Abraço!
Muito Bom!
simplesmente Sensacional... amei esta aula de coração
sem enrolação, direto ao ponto
sou mais um Escrito no Canal e mais um Fã...
muito Obrigado pela Aula Parabéns
Valeu meu caro! Obrigado pelo feedback. Grande abraço!
Parabéns, muito boa sua explicação e vou poder usar o que vc compartilhou! Muito obrigado!!!👍🙏
Show de bola Octávio! Abração!
parabéns , aula maravilhosa, bem explicada
Muito obrigado Diones! Sucesso!
Francisco Ivanilton
há 6 horas
Hummm, tem algum modo de trabalhar com multiusuário com arquivo excel na nuvem? com esta proteção de login? ou um modo de que quando um usuário esteja logado outro não consiga logar assim efetuando suas proteções adequadas? Grato!
Aula top. Parabéns
Valeu Priscila! Abraço!
Excelete aula.... faz uma sobre webscraping com vba
Opa Tiago, obrigado!
Vou colocar na fila de temas sua sugestão aqui.
Abraço!
Excelente, tenho mais interresse sim.
Ajudou demais! pqp tirou muita onda
Valeu Vinicius! Abração.
show de bola ,já sou desenvolvedor mas ganhei mais conhecimento com essa aula! =) gostei da lógica.
Show de bola Paulo. Sucesso!
Parabéns pela disponibilidade meu querido. Aprendi muito, gostei bastante da sua didática. Eu fiz uma planilha automatizada pra receber apontamentos. Mais não sei conta de fazer o Excel ler a porta seria e capturar os pesos da balança automaticamente.
Obrigado Márcio! Show de bola! Sucesso!
Parabéns, excelente aula👏👏👏👏👏👏
Obrigado Charlim! Abração!
Top demais! Parabéns e obrigado!
Valeu Douglas! Abraço!
Ótima Aula, Parabéns, Obrigado
Obrigado Ailton! Sucesso! Abraço!
Parabéns pela aula!!! Excelente
Muito bom, Yera! Obrigado.
Valeu Prof Joaquim! Abraço!
Tava precisando um esse tipo de acesso professor obrigado muito bom
Swho de bola Luis! Abração.
Rapaz, fantástico! Muito obrigado mesmo!!!
Valeu JC! Abração!
Muito bom Yera, mas se o usuário renomear alguma planilha o sistema deixa de funcionar, pois dará erro não encontrando a planilha renomeada. Se puder alterar está parte do código ficaria melhor
Muito bem observado meu caro. Podemos usar o atributo (Name) da planilha para prevenir esse cenário. Abração.
Yera, sobre esse assunto será que poderia me tirar uma dúvida? Seguinte, como afiliado eu faço vendas de planilhas (nicho mercado financeiro) através da hotmart. Ocorre que existe muito da questão da pirataria, ou seja, as pessoas se reúnem em grupos de telegram e 1 pessoa compra e compartilha com os demais. É possível solucionar esse problema com esse recurso de login (nome de usuário e senha). Ou seja, mesmo se a planilha for compartilhada com outras pessoas é possível fazer com que essas pessoas (que receberam a planilha) não conseguem usá-la?
Fala Fabio! Tudo certo? Show de bola...
Olha, essa funcionalidade pode dificultar um pouco a vida de quem está fazendo isso, mas não vai resolver por completo porque a pessoa pode também compartilhar o "usuário e senha" né?
Na verdade, qualquer planilha bloqueada (mesmo protegida com senha) não te garante 100% de que uma pessoa má intensionada não consiga quebrar a proteção.
O que você pode fazer é criar mecanismos para dificultar esses "golpes" como:
Criar um código que valide uma "chave do produto" que você pode ter por cliente, e caso 1 já esteja ativada, bloquear a planilha ou algo do tipo.
Criar uma espécie de "vida útil" da planilha, e enviar a nova versão para seus clientes quando estiver vencendo o tempo de utilização.
Procurar outras formas de criptografia de arquivos em canais mais especializados em desenvolvimento. Confesso que aqui no meu canal, não temos vídeos com esse teor mais técnico.
Espero ter ajudado.
Abração. Sucesso.
@@YeraExplica entendi meu amigo, vou pesquisar mais sobre esses recursos que disse. Muito complicado essa questão de compartilhamento "indevido. De toda forma te agradeço! Comprei seu curso hoje! Muito Obrigado!
@@mestreenzo conseguiu ?
Professor
Eu tentei recriar essa configuração na planilha compartilhada on-line
Tenho usuários que precisa ser limitado e outros com mais acessos
Porém não obtive sucesso
Quando acionamos vários tipos de comando o excel fica limitado
Como resolver ?
Muito obrigada! Poderia ensinar como programar para busca númérica por favor, na verdade quero fazer a busca com o leitor de código de barras, mas pode ensinar qualquer busca númérica. Agradeço! Obrigada por compartilhar esse conteúdo incrível.
Oi Aline! Obrigado!
Ótima sugestão de tema. Para adiantar, posso te dizer que as maquininhas leitoras de barras, normalmente funcionam assim: Você "bipa" o código de barras (faz a leitura) e a própria maquininha digita o que foi lido no programa em que você está aberto. (Pode ser bloco de notas, word, SAP, e claro por que não, o excel né?)
Tendo em vista esse funcionamento, você pode de uma maneira fácil e tranquila, criar um PROCV para fazer a procura do código de barradas lido.
Abraço!
@@YeraExplica ótima explicação muito obrigada! Aguardando ansiosa por novas aulas de Excel, abraço, sucesso em seu canal.
Olá! Estou trabalhando em uma planilha muito semelhante a essa, mas ao invés de 3 para dar acesso e ocultar, são 220... tem outro jeito de ocultar todas e dar o acesso? Obrigada e gostei muito do vídeo.
E preciso que vários usuários acessem ao mesmo tempo e possa estar em um drive compartilhado! 🙄
Oi Mara! Tudo bom? Nossa... são muitas planilhas ein... a sugestão que eu te dou nesse caso é utilizar a estrutura do for each ... in ... next...
Por exemplo.
For each planilha in workbook.sheets
if planilha.name"Principal" then planilha.visible=false
next
dessa forma ele vai deixar invisível todas as planilhas que existirem no arquivo menos a que se chama "principal" (que pode ser um menu ou algo assim)
Aí acho que você ganha bastante tempo.
Abração.
Sucesso!
Aula top d+!
Deus abençoe! Se tiver algum curso a venda eu gostaria de adquirir. Sua didática é boa pra mim
Amém! Em breve terei um curso de Dashboard para venda meu caro. Abraço!
mto boa aula, prabens
Obrigado! Abraço!
Excelente didática e trabalho, me tire uma dúvida Yera, esta planilha pode ser armazenada na nuvem e ela pode ser logada por usuários distintos ao mesmo tempo? Grato!
Valeu Francisco! Você pode armazenar na núvem sim, por exemplo num drive da empresa ou algo assim. Agora a parte de ter usuários simultâneos complica porque a macro irá habilitar ou desabilitar as planilhas (abas) do arquivo, e quem estiver com ela aberta vai conseguir ver como se fosse outro usuário, sabe?
Abração.
@@YeraExplica Hummm, tem algum modo de trabalhar com multiusuário com arquivo excel na nuvem? com esta proteção de login? Grato!
Aula incrível! Parabéns e obrigado por compartilhar. Você pode fazer uma aula sobre salvar ou exportar como imagem (PNG ou JPG) o conteúdo selecionado ou definido como área de impressão?
Obrigado pelo Feedback Eliseu! Show, vou montar um material com esse assunto e postar ainda essa semana. Forte abraço!
Oi Eliseu, dá uma olhada nesse vídeo ruclips.net/video/M0NjaMzG5cs/видео.html
Abraço!
@@YeraExplica Uau! Já assisti, comentei e baixei. ;)
Muito bom! Parabéns Yera!
Valeu Rodrigão! Abraço!
Q aula top
Parabéns pelo vídeo, preciso saber como apagar o login e senha depois de deslogado
Opa Flávio! Obrigado pelo feedback!
Pra apagar o login e a senha você pode usar esse código nesse exemplo:
txtUsuario.Text = ""
txtSenha.Text = ""
Se você estiver dentro de algum módulo, você vai precisar dizer em qual planilha esses controles estão, exemplo:
Worksheets("Bem-Vindo").txtUsuario.Text = ""
Worksheets("Bem-Vindo").txtSenha.Text = ""
Abraço!
@@YeraExplica Obrigado pelo retorno, outra coisa, tem como colocar a opção de esqueci minha senha, para os usuários recuperar?
Opa Flávio, dá pra bolar uma estratégia com isso sim. Dá pra você colocar no cadastro da base um email do usuário, e juntar com esse vídeo aqui sobre email automático para criar um botão "Esqueci Minha Senha", para enviar pro próprio email dele talvez a senha cadastrada.
Ideia bem bacana! Abraço!
ruclips.net/video/Wy3N_6e9Gvs/видео.html
Ótimo video. Didática espetacular. Só a orientação abaixo não funcionou. Quando faz o logoff com os comandos abaixo, na hora do login ele não reconhece mais os usuarios. Qual seria o problema?
Olá! Parabéns pelo compartilhamento de conhecimento! Muito bom!
Se vc puder passar alguma coisa sobre "Scrapping Web", seria ótimo!
Show meu caro! Obrigado. Abraço!
Que aula top ,Parabéns !!👏👏👏👏
Uma dúvida, caso eu tenha formulários em Multipaginas com integrações entre elas , como vai ser ocultada as abas?
Yera, boa tarde!
Seguinte: tenho uma lanilha com uma tabela com o nome de consultores de uma determinada empresa junior e, nela, contém as informações de performance dos 9 consultores durante as 4 semanas de abril deste ano. De acordo com a pontuação que os consultores forem atingindo, eles vão ganhando um status novo (auxiliar, agente administrativo, encarregado, coordenador, vice-presidente, etc) que eu consegui elaborar com a função 'SE'. Porém, preciso apontar no meu dashboard o nome o o cargo do consultor que melhor pontuou. Lembro que já fiz vi isso uma vez, mas não me lembro, de jeito nenhum, como se faz. Cê pode fazer uma aula sobre?
Opa Jc! Boa noite! Pelo que eu entendi, para fazer o que você precisa, você irá utilizar 2 funções. Um seriam alguns "=SE"s (para fazer o status conforme a pontuação, e a fórmula "=MAIOR" para validar quem foi que pontuou mais. Dessa forma você deve conseguir fazer o seu dashboard.
Deixei um exemplo pronto para você aqui nesse link. Espero ter ajudado. Abraço!
drive.google.com/file/d/1Zmqv9JrGV1_ntp95L9N-4YyJvYnMaSuO/view?usp=sharing
Parabéns !! Sucessos.
Valeu Paulo! Abraço!
Ótimo conteúdo! Obrigado por compartilhar!
Obrigado Antonio! Grande abraço!
Aula top Mestre ♥️♥️♥️
Valeu Edher! Abraço!
como faço antes pra fazer o logoff antes de fechar a planilha?
Posso fazer esse processo usando formulários? Ao invés de colocar na planilha fazer tudo no formulário?
Pode sim Weslley, só vai precisar ajustar alguns pontos na lógica, mas o raciocínio é o mesmo.
Abração.
Boa tarde, estou com o problema de validação de tabela para o login, realizo o seguinte comando inicial antes de chamar o For: fim = Sheets("User").Range("A1").End(xlDown).Row. O problema é que o fim recebe a linha 3 sendo que minha tabela possui mais linhas. Qual será o problema?
Opa Flávio, tudo bom? Quando utilizamos esse código, o VBA entende que a coluna "chave" para ele achar o final é a coluna indicada no Range("A1"). Nesse caso ele vai na coluna "A" e vai até a última linha preenchida naquele intervalo.
Então o que eu acredito que está acontecendo é: Ou os seus registros não estão na coluna A, ou a quarta linha da sua tabela ("A4") está em branco (porque ele está encontrando como fim 3).
Depois me avisa se com isso resolveu. =)
Abraço!
Caso eu tenha outra pasta buscando dados desta, via VBA, a senha do login irá atrapalhar, a outra pasta buscar as informações?
Opa Eric, não atrapalha não.. o único ponto de atenção é que você tem que especificar em qual pasta de trabalho está buscando as informações e em qual pasta de trabalho você está colocando o login e senha. Você pode fazer essa diferenciação utilizando o Workbook("nomeDoArquivo1") por exemplo. Abração!
Funciona para uma planilha compartilhada com vários vendedores e um adm?
Opa, a funcionalidade de login por usuário funciona sim. Mas provavelmente o que você precisa é que vários usuários acessem a mesma planilha ao mesmo tempo, certo? Aí você precisa utilizar outras ferramentas, como talvez um banco de dados access ou Oracle e fazer a planilha se comunicar com o banco, um pouco mais complexo, mas possível de se fazer com VBA também.
Abraço!
Yera, apliquei sua tabela num arquivo que uso na minha empresa e até então funcionou 100%, mas quando um outro funcionário foi acessar mudou o acesso no meu pc, com as planilhas liberadas para ele e quando entrei com o login "admin" liberou todo acesso para esse funcionario. Isso acontece pq?? Consigo resolver?? Essa planilha que uso, tem vários usuarios usando ao mesmo tempo e preciso que mesmo usando ao mesmo tempo, cada um tenha acesso somente as suas liberações. Poderia me ajudar??
Opa Lenon, tudo certo? O ponto é que se estão usando o mesmo arquivo simultaneamente, da forma como foi feito nesse exemplo, a hora que um "admin" liberar todas as planilhas, todo mundo conseguirá enxergar. Uma alternativa para isso seria criar um outro tipo de validação para que na hora que alguém tentasse "selecionar" as demais planilhas verificar se aquele usuário tem acesso. Para isso você pode utilizar o evento Worksheet_Activate
Abração, sucesso!
@@YeraExplica Blzz, Valeu pela dica!! Vou ver se acho como faz isso. Tu tem algum vídeo explicando como fazer desta forma??
Professor estou repetindo seus passos a tempos, mas sempre dá erro 9 na parte de desativarModulo. (Nomedaaba). Como posso corrigir?
Yera, é possível uma opção para que o usuário troque a senha?
Fala Milcker! É possível sim, mas não tenho nenhum vídeo pronto aqui ensinando como. Me manda um email pro yeraexplica@gmail.com que tento te ajudar por lá.
Grande abraço!
Top !!!!!🎉
Top
Valeu Adão! Abraço!
Gostei
Se m usuario so puder ver e nao editat, como fazef?
Opa Henrique, aí a forma mais fácil é você usar a proteção das células mesmo. Você pode usar o comando
ActiveSheet.Protect "123senha" para bloquear a planilha ativa. e depois usar o comando
ActiveSheet.Unprotect "123senha" para desproteger se necessário.
Abraço!
Esta dando bug na hora que voce troca de login sem fazer logooff
Muito bem observado Brena.. uma possível solução é chamar o código de logoff automaticamente quando o botão login for acionado, assim ele sempre irá "bloquear" os módulos antes de verificar as permissões. Outra solução também viável é bloquear o Botão login após alguém ter efetuado o login no sistema. Abraço. Sucesso!
Como obter esta programacao?
Opa Henrique, a planilha está disponível para da download. O link está aqui em cima na descrição do vídeo.
Abraço!
Professor fiz todo procedimento mais nao deu certo, me ajude
098985639011 esse é meu zap pra mim lhe mostrar melhor os codigos
Opa Aristide, me passa um email no yeraexplica@gmail.com com os códigos ou o arquivo que eu consigo ajudar melhor. Abração. Sucesso!
Fala meu caro! Deve ser algum detalhezinho pequeno que as vezes deixamos passar. Me envia um email que é mais fácil eu ver o código por lá. Abração. Sucesso!
na hora de fazer logoff teria que apagar a senha... pois ela fica gravada
♥️♥️♥️
Excelente aula.
Valeu Cicero! Abraço!
Muito bom, parabéns!
Valeu Wagner! Abraço!