Ir ao conteúdo
  • Cadastre-se

Senha em algumas abas da planilha


Posts recomendados

Estou fazendo uma planilha no excel e gostaria de saber se é possível proteger apenas algumas abas específicas da planilha e não a planilha toda, de forma que essas abas protegidas só pudessem ser vistas caso o usuário colocasse a senha. Não seria apenas deixar em forma de 'somente leitura', mas apenas abrir a determinada aba colocando a senha. Minha planilha possui um menu principal com alguns botões, gostaria que quando o botão da aba que quero bloquear fosse clicado aparecesse o janela pedindo a senha. Vi em um tópico antigo, que por sinal está fechado, essa solução mas deu erro quando eu tentei fazer na minha.

 

Abs

 

Link para o comentário
Compartilhar em outros sites

Uma outra boa solução é ocultar a aba/planilha, pois raras são as pessoas q se dão conta de q tem planilha oculta.

Nesse caso é só ir na aba com o botão direito e selecionar ocultar.

 

 

Entendi, mas na minha planilha mais de uma pessoa alimenta assim fica ruim ficar ocultando toda hora a aba, eu quero que o estagiário não visualize todas as abas da planilha, e o administrador através de uma senha teria acesso as abas bloqueadas.Eu vi nesse fórum um código VBA onde colocando a senha a aba ficaria visível, contudo como não entendo muito de VBA acredito que tenha feito algo errado e não deu certo. Apareceu a mensagem Subscrito fora do Intervalo

 

O código que me refiro seria esse abaixo:

 

Sub Acesso()

Dim Senha As String

Senha = InputBox("Digite a Senha para acessar as planilhas", ":: Acesso::")

If Senha = "123" Then

Sheets("Plan2").Visible = -1

Sheets("Plan3").Visible = -1

MsgBox "Acesso concedido!", vbInformation, "Aviso"

Else

Sheets("Plan2").Visible = 2

Sheets("Plan3").Visible = 2

End If

End Sub

Link para o comentário
Compartilhar em outros sites

@osvaldomp

 

Eu substituir os  nomes Plan2 e Plan3 pelos nomes da planilhas de fato, no caso especifico "DRE". Contudo ao testar a macro ela parece funcionar, mas não funciona conforme eu quero. Como tinha dito, e você me corrigiu kkk,  eu tenho varias planilhas no arquivo, dentre essa planilhas eu tenho uma capa, que iria até colocar aqui em anexo mas não consegui, que possui  vários hiperlinks e que logicamente me direciona para a planilha desejada. Quando eu clico no DRE queria que aparecesse uma janela para colocar a senha e isso não acontece, você poderia me ajudar? Deu para entender?


Segue o link da imagem da planilha que uso como capa..

 

http://tinypic.com/r/nwnei0/8

Link para o comentário
Compartilhar em outros sites

Este seu sistema de uma planilha p/ cada mês não me agrada.

Como você faz com a virada de ano?

porque não usa simplesmente uma planilha p/ Boletos, outra p/ cheques e assim por diante?

você tem ideia de q o Excel tem uma ferramenta chamada 'Linha do Tempo' em [inserir] q você poderia utilizar p/ segmentar seus dados?

Link para o comentário
Compartilhar em outros sites

Seria interessante você anexar o arquivo, contendo somente as planilhas envolvidas com a sua questão e com o(s) código(s) instalado(s). Antes remova/substitua dados sigilosos, se houver.

 

O arquivo com macros precisa ser compactado com o compactador extensão .zip para poder carregar direto aqui no fórum.

Link para o comentário
Compartilhar em outros sites

@DJunqueira

 

Sobre a Linha do Tempo eu já vi, mas nunca utilizei, talvez seja útil mesmo, vou tentar experimentar. Sobre os meses acho bacana essa divisão porque consigo apurar meu DRE além de ficar mais fácil identificar os gastos mês a mês.


@DJunqueira

 

Sobre a Linha do Tempo eu já vi, mas nunca utilizei, talvez seja útil mesmo, vou tentar experimentar. Sobre os meses acho bacana essa divisão porque consigo apurar meu DRE além de ficar mais fácil identificar os gastos mês a mês.


@osvaldomp

 

Tudo bem, faço isso, mas como eu consigo anexar?

Link para o comentário
Compartilhar em outros sites

@Tottys

 

Para carregar o arquivo no post:

 

1. no final da página do seu post clique em "Mais Opções"
2. na nova tela clique em "Escolha os arquivos..." em seguida selecione o arquivo na sua máquina
3. o nome do arquivo selecionado vai aparecer na tela do post, à direita clique em "Adicionar ao post"

Link para o comentário
Compartilhar em outros sites

CONTROLE FINANCEIRO 2015.zip

 

Pronto, gostaria que toda vez que selecionasse o botão DRE na planilha CAPA, aparecesse uma mensagem solicitando a senha para o acesso. Fazendo esse código eu copiaria para as demais planilhas como extrato Bradesco.

 

 


@DJunqueira

 

Sobre a linha do tempo eu acho que não consigo utilizar como imagina, veja se consegue fazer algo na planilha que anexei no post anterior.

 

Abs

Link para o comentário
Compartilhar em outros sites

1. o código abaixo tem estrutura que permite utilizar somente ele para reexibir as planilhas que quiser; instale-o em um módulo comum e vincule-o a todos os botões que desejar

obs.no seu arquivo há um código de evento de planilha instalado erradamente no módulo1, sugiro que você insira um novo módulo para receber o código abaixo

Sub Acesso() Dim Senha As String  Senha = InputBox("Digite a Senha para acessar as planilhas", ":: Acesso::")   Select Case Senha    Case "123": Sheets("DRE").Visible = -1 'senha "123" reexibe a planilha "DRE"    Case "234": Sheets("VENDAS SETEMBRO").Visible = -1 'senha "234" reexibe a planilha "VENDAS SETEMBRO"    Case "345"     Sheets("VENDAS OUTUBRO").Visible = -1  'senha "345" reexibe a planilha "VENDAS OUTUBRO" e a planilha     Sheets("VENDAS NOVEMBRO").Visible = -1 ' "VENDAS NOVEMBRO"                'prossiga aqui com as demais senhas e planilhas    'exclua as planilhas acima que desejar    'altere as senhas se quiser                Case Else:     MsgBox "Acesso negado!", vbInformation, "Aviso" 'senha inválida    End SelectEnd Sub



2. instale o código abaixo no módulo de "EstaPasta_de_trabalho" (para acessar este módulo dê duplo clique sobre "EstaPasta_de_trabalho" no editor de VBA)

Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim ws As Worksheet  For Each ws In ThisWorkbook.Worksheets   If ws.Name <> "CAPA" Then ws.Visible = 2 'oculta as planilhas, exceto "CAPA"  Next ws  Me.Save 'salva o arquivo (se não quiser salvar automático coloque um apóstrofo no início deste comando)End Sub

3. é recomendável bloquear com senha o editor de VBA (Ferramentas / Propriedades / Proteção)

4. caso o arquivo esteja compartilhado e ou em rede será preciso testar para saber da funcionalidade dos códigos

Link para o comentário
Compartilhar em outros sites

@osvaldomp

 

Com esse código as planilhas ficam "bloqueadas", até aí tudo bem! Mas como todos os botões da capa possuem um hiperlink, estes não funcionam. Eu exclui os hiperlinks e atribui a macro, assim as planilhas "desbloqueiam" mas eu não consigo acessá-la através do hiperlink. Gostaria de continuar utilizando a função hiperlink para ir até as planilhas, as planilhas que desejo que sejam bloqueadas eu queria que ao clicar no botão aparecesse o box para incluir a senha, e se essa for digitada corretamente o usuário teria acesso.

 

Deu para entender? Tem como fazer isso?

 

Obrigado desde já pela atenção!

 

Abs

 

 

Link para o comentário
Compartilhar em outros sites

Com esse código as planilhas ficam "bloqueadas",

As planilhas ficam ocultas.

 

Mas como todos os botões da capa possuem um hiperlink, estes não funcionam.

As planilhas de acesso livre, via Hyperlink, mantenha essa condição e coloque os nomes delas no código Private Sub Workbook_BeforeClose para que não sejam ocultadas. Eu coloquei só a "CAPA", como exemplo, coloque as demais.

 

 as planilhas que desejo que sejam bloqueadas eu queria que ao clicar no botão aparecesse o box para incluir a senha, e se essa for digitada corretamente o usuário teria acesso.

É isso que o código faz. Você só precisa relacionar no código os nomes das planilhas e suas respectivas senhas, as quais deseja reexibir, como está comentado no código. Eu coloquei no código somente 4 planilhas como exemplo, ponto de partida.

 

Deu para entender?

Consegui entender sem dar!  E você, deu pra entender?... kkkkk

Link para o comentário
Compartilhar em outros sites

Com esse código as planilhas ficam "bloqueadas",

As planilhas ficam ocultas. OK

 

Mas como todos os botões da capa possuem um hiperlink, estes não funcionam.

As planilhas de acesso livre, via Hyperlink, mantenha essa condição e coloque os nomes delas no código Private Sub Workbook_BeforeClose para que não sejam ocultadas. Eu coloquei só a "CAPA", como exemplo, coloque as demais. Eu não entendo quase nada de VBA, ontem que comecei a ler alguma coisa sobre o assunto, enfim, não sei colocar o nome delas nesse código, eu tentei aqui dessa forma vide abaixo, porém deu erro.

 

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets  

If ws.Name <> "CAPA"  "VENDAS SETEMBRO" "VENDAS OUTUBRO"Then ws.Visible = 2 'oculta as planilhas, exceto "CAPA"   Next ws  

Me.Save 'salva o arquivo (se não quiser salvar automático coloque um apóstrofo no início deste comando)

End Sub

 

 

 

 as planilhas que desejo que sejam bloqueadas eu queria que ao clicar no botão aparecesse o box para incluir a senha, e se essa for digitada corretamente o usuário teria acesso.

É isso que o código faz. Você só precisa relacionar no código os nomes das planilhas e suas respectivas senhas, as quais deseja reexibir, como está comentado no código. Eu coloquei no código somente 4 planilhas como exemplo, ponto de partida. Eu copiei o código que me passou e testei na planilha DRE, eu não conseguia clicar na planilha, então desativei o hiperlink, atribui a macro ao botão, a planilha apareceu mas não consegui acessa-la pelo hiperlink.

 

Deu para entender?

Consegui entender sem dar!  E você, deu pra entender?... kkkkk  kkkkkkkkkkkkkkkk eu entendi sem dar também, só que devido ao conhecimento praticamente ZERO sobre o assunto eu não sei fazer, entendeu?

Link para o comentário
Compartilhar em outros sites

1. sobre as planilhas a serem ocultadas ao fechar o arquivo veja se você consegue acertar a lista de nomes no código abaixo. Mudei a estrutura do código para tentar facilitar a inclusão/exclusão de nomes. Se não conseguir disponibilize a lista com os nomes que eu coloco pra você. Coloque este código no lugar do anterior.

Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim ws As Worksheet  For Each ws In ThisWorkbook.Worksheets   Select Case ws.Name    'AS PLANILHAS CUJOS NOMES ESTIVEREM RELACIONADOS ABAIXO SERÃO OCULTADAS AO FECHAR O ARQUIVO    Case "VENDAS SETEMBRO", "VENDAS OUTUBRO", "VENDAS NOVEMBRO": ws.Visible = 2    Case "VENDAS DEZEMBRO", "VENDAS JANEIRO", "VENDAS FEVEREIRO": ws.Visible = 2    'Case "OUTRA PLANILHA", "MAIS UMA PLANILHA": ws.Visible = 2 'acrescente ou remova nomes se necessário       End Select  Next ws  Me.Save 'salva o arquivo (se não quiser salvar automático coloque um apóstrofo no início deste comando)End Sub

2. sobre os Hiperlinks:
    I) os códigos que passei não interferem com os seus Hiperlinks
    II) se entendi corretamente, você tentou atribuir a um mesmo botão (figura) simultaneamente as tarefas

        de rodar um código E buscar um Hiperlink. Se você atribuiu uma macro a um certo botão crie outro

        botão para o Hiperlink e vice-versa.

    III) lembrete - Hiperlink só funciona se a planilha destino não estiver oculta
 

Link para o comentário
Compartilhar em outros sites

 

Sobre a linha do tempo eu acho que não consigo utilizar como imagina, veja se consegue fazer algo na planilha que anexei no post anterior.

 

Abs

@DJunqueira

 

Olá Tottys

 

Anexei uma pequena modificação na planilha EXTRATO OUTUBRO tentando demonstrar como você poderia segmentar seus dados sem criar uma planilha/aba p/ cada mês.

Nela transformei a 'lista' de lançamentos em uma Tabela reconhecida pelo Excel e a nomeei TabExtrato, inseri uma segmentação de dados p/ TIPO de lançamento e congelei painel da parte superior.

Se você for no cabeçalho DATA você poderá selecionar os lançamentos por mês. Nesta tabela não foi possível inserir a Linha do Tempo.

 

Se você adotar a sugestão de manter todos os dados em uma só planilha será possível criar planilhas resumo ou relatório com o uso de tabelas dinâmicas onde a linha do tempo poderá ser utilizada. Sinceramente penso q não há motivo razoável q justifique uma planilha p/ cada mês.

 

Para você ter uma boa ideia de todas as potencialidades do Excel tem uma série de vídeos na internet chamada Excel is fun q é muito boa e eu recomendo. O cara q faz os vídeos é muito objetivo e prepara bem as aulas, não fica enrolando com preenchimento de dados.

https://www.youtube.com/user/ExcelIsFun

 

O porém dessa série é q ela é em inglês :( , mas mesmo não sabendo dá p/ ter uma boa ideia do q o Excel é capaz só de observar os vídeos.

 

Por fim, mesmo q você não adote minha sugestão de não criar planilhas/abas p/ cada mês fica registrado outra sugestão, não escreva o nome inteiro dos meses, mas apenas as 3 letras iniciais.

CONTROLE FINANCEIRO 2015.zip

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

@Tottys Bom dia.

Vi a sua duvida e estou com uma parecida, no meu caso gostaria que na hora que a pessoa selecionasse a planilha, (uma aba), pedisse uma senha, digitei o código que você mencionou e so funciona quando clico em executar macro, não sei mexer muito bem com isso, tem como da uma força.

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...