Agrupamento de células com planilha protegida: neste post você vai aprender a usar a programação VBA no Excel para fazer com que a planilha possa ser agrupada e desagrupada, mesmo estando protegida.
Usando a proteção padrão, ao tentar agrupar/desagrupar os dados, o Excel exibe uma mensagem informando que não possível realizar a operação, pois a planilha está protegida.
Vamos resolver este problema usando o VBA. Veja o passo a passo:
Agrupamento de células com planilha protegida
Baixe a planilha para praticar
- Clique na guia Desenvolvedor → grupo Código → Visual Basic.
- Será exibida a janela do VBA.
- Clique no menu Inserir → Módulo.
- No módulo que foi inserido, digite o código a seguir:
Sub ProtecaoPersonalizada()
Dim wks As Worksheet
Set wks = Application.ActiveSheet
wks.Protect Password:=123, Userinterfaceonly:=True
wks.EnableOutlining = True
End Sub
A propriedade Userinterfaceonly definida como verdadeiro, permite que o código altere células bloqueadas.
A propriedade EnableOutlining definida como verdadeiro, permite o uso da estrutura de tópicos.
- Feche a janela do VBA.
- De volta ao Excel, clique na guia Desenvolvedor → grupo Código → Macros.
- Escolha a macro ProtecaoPersonalizada e clique em Executar.
Tente alterar algum valor das células e o Excel exibe a mensagem de planilha protegida. Porém, é possível agrupar/desagrupar os dados.
Observação: ao fechar a planilha e abrir, você terá que executar a macro novamente. Para que isso não seja necessário, coloque o código no evento Open da pasta de trabalho.
- Para isso, clique com o botão direito do mouse sobre EstaPastaDeTrabalho e escolha Exibir código.
- Digite o mesmo código que foi usado acima.
- Salve e feche o arquivo. Abra novamente e veja que o recurso está funcionando.
Assista a videoaula sobre Agrupamento de células com planilha protegida
Você pode usar outros comandos para bloquear/desbloquear, dependendo de suas necessidades.
- Para permitir o filtro, use: AllowFiltering:=True
- Para permitir formatação de células, use: AllowFormattingCells:=True
- Para permitir formatação de colunas, use: AllowFormattingColumns:=True
Exemplo do código:
Sub ProtecaoPersonalizada() Dim wks As Worksheet Set wks = Application.ActiveSheet wks.Protect Password:=123, Userinterfaceonly:=True, _ AllowFormattingCells:=True, _ AllowFormattingColumns:=True, _ AllowFiltering:=True wks.EnableOutlining = True End Sub
Veja neste link, a documentação do método Protect do VBA: https://docs.microsoft.com/pt-br/office/vba/api/excel.worksheet.protect
Participe
O que achou do Agrupamento de células com planilha protegida? Deixe sua opinião nos comentários.
Se este conteúdo foi relevante para você, convide seus amigos para que eles também fiquem sabendo deste material.
Um abraço e até a próxima.
E-book Gratuito: 7 Recursos Essenciais que você precisa conhecer no Excel
Cadastre seu e-mail e receba o e-book
Olá Adriano, parabéns pelo seu trabalho. Suas dicas são muito valiosas e nos ajudam muito a resolver alguns problemas do dia a dia. Tenho uma planilha de 6 abas onde 3 abas possuem agrupamento de células. Apliquei o recurso que você explicou, porém só funciona para uma das 3 abas, as outras 2 quando tendo executar o comando clicando no ícone de agrupar, aparece aquela mensagem planilha protegida que não permite utilizar este comando. Vou deixar aqui abaixo a formula que utilizei, poderia verificar onde está o erro?
Private Sub Workbook_Open()
Dim wks As Worksheet
Set wks = Application.ActiveSheet
wks.Protect Password:=”renda”, UserInterfaceOnly:=True
wks.EnableOutlining = True
End Sub
Sub ProteçãoPersonalizada_Faturas()
Dim faturas As Worksheet
Set faturas = Application.ActiveSheet
faturas.Protect Password:=”renda”, UserInterfaceOnly:=True
faturas.EnableOutlining = True
End Sub
Sub ProteçãoPersonalizada_Orçamento()
Dim Orçamento As Worksheet
Set Orçamento = Application.ActiveSheet
Orçamento.Protect Password:=”renda”, UserInterfaceOnly:=True
Orçamento.EnableOutlining = True
End Sub