Ao trabalhar com planilhas no Excel, frequentemente nos deparamos com a necessidade de protegê-las com senhas para garantir a segurança dos dados. No entanto, essa proteção pode limitar algumas funcionalidades cruciais, como a manipulação de tabelas dinâmicas e segmentação de dados (filtros). Isso pode ser um obstáculo, principalmente quando você precisa alterar filtros ou atualizar dados. Mas não se preocupe, há soluções simples para essas limitações.
Primeiramente, vamos abordar como manter a segmentação de dados acessível:
- Ajuste as Propriedades da Segmentação de Dados: Antes de aplicar a proteção por senha, clique com o botão direito do mouse na segmentação de dados e escolha “Tamanho e Propriedade”. Em “Propriedades”, desmarque a opção “Bloqueado”. Isso permitirá que você altere os filtros mesmo após a planilha estar protegida.
- Protegendo a Planilha com Acesso à Tabela Dinâmica: Quando for proteger a planilha, na aba “Revisão”, clique em “Proteger Planilha”. Na janela para inserir a senha, certifique-se de marcar a opção “Usar Tabela Dinâmica & Gráfico Dinâmico”. Isso garante que você possa interagir com esses elementos mesmo após a aplicação da senha.
Um ponto importante a ser lembrado é que, mesmo com esses ajustes, a atualização dos dados da tabela dinâmica não é possível com a planilha bloqueada. Para contornar isso, você pode usar um código VBA simples para desbloquear a planilha, atualizar a tabela e bloqueá-la novamente. Veja como:
Veja o código abaixo:
Sub DesprotegeAtualiza()
On Error Resume Next
With Activesheet
.Unprotect Password:=”sua_senha”
.PivotTables(1).RefreshTable
.Protect Password:=”sua_senha”, AllowUsingPivotTables:=True
End With
End Sub
Substitua “sua_senha” pela senha que você usa para proteger a planilha. Esse código desbloqueia a planilha, atualiza a tabela dinâmica e a bloqueia novamente, mantendo seus dados seguros e atualizados.
Aprofunde Seus Conhecimentos em Excel
Essas dicas são apenas a ponta do iceberg. Se você deseja aprofundar seus conhecimentos e habilidades em Excel, especialmente na criação de dashboards impactantes, convido você a conhecer a Masterclass: Criação de Dashboards no Excelo da Dashboard Design. Nele, você aprenderá técnicas avançadas para transformar seus dados em insights visuais poderosos.
Olá, utilizei o cod VBA para atualizar o gráfico dinâmico da planilha bloqueada, porém, a planilha que estou utilizando contém mais de um gráfico, e ao atualizar, somente um gráfico tem as informações alteradas. Qual código eu preciso usar para que sejam atualizados todos os gráficos? Obrigado!
Tenta trocar a linha de código .PivotTables(1).RefreshTable por .ActiveWorkbook.RefreshAll
Sub Atualizar()
On Error Resume Next
With ActiveSheet
.Unprotect Password:=”a”
.ActiveWorkbook.RefreshAll
.Protect Password:=”a”, _
AllowUsingPivotTables:=True
End With
End Sub
Não me ajudou, a ideia era proteger a planilha de um modo onde a segmentação de dados fosse selecionável, porém o usuário não teria como excluir ou mover a segmentação de dados.
No caso quando faço esse bloqueio não da nem pra selecionar a segmentação, ou então ela bloqueia toda não sendo possível selecionar as opções da segmentação.
Rafael, segue o video tutorial que não tem erro. Você bloqueia a planilha, mas a segmentação fica disponivél para o usuário.
Mano, botão direito do mouse na Segmentação de Dados, “Tamanho e Propriedades”. Na opção “Posição e Layout” marque a opção “Desabilitar redimensionamento e movimentação”. Sempre que proteger a planilha você conseguirá usar as Segmentações de Dados 🙂
Olá..
Eu insiro o código e executo ele numa boa. Tá dando certo.. mas está desprotegendo a planilha.
Quando eu vou em Revisão – Desproteger … ele nem pede senha… só desprotege a planilha sem esforço.
Qual erro está dando??
Caramba, isso é muito estranho. Infelizmente, não sei pq acontece.
Boa tarde, esses comandos me ajudaram muito.
Mas no meu caso, estou trabalhando com graficos dinamicos que puxam valores de uma aba de dados e outros graficos dinamicos que puxam valores de outra aba de dados.
Usando o comando abaixo, só atualizou os gráficos dinamicos que puxam de uma das abas, os outros não.
usei esse:
sub Atualizar()
On Error Resume Next
With ActiveSheet
.Unprotect Password:=”a”
.ActiveWorkbook.RefreshAll
.Protect Password:=”a”, _
AllowUsingPivotTables:=True
End With
End Sub
É que você está pedindo para desbloquear somente a aba ativa. Você precisa desbloquear as abas com dados.