KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como agrupar e desagrupar linhas numa folha de cálculo protegida?

AutorXiaoyang Data de Modificação

Como todos sabemos, assim que uma folha de cálculo no Excel é protegida, há várias restrições às ações que os utilizadores podem realizar. Por exemplo, alternar entre dados agrupados e desagrupados — utilizando a funcionalidade de esquema do Excel para expandir ou contrair grupos — está normalmente desativada por predefinição numa folha protegida. Esta limitação é particularmente inconveniente quando pretende permitir que alguns utilizadores organizem ou explorem dados com agrupamentos, mantendo simultaneamente outro conteúdo protegido contra alterações indesejadas. Compreender como permitir agrupar e desagrupar sem comprometer a segurança da folha é fundamental para preservar tanto a integridade dos dados como a usabilidade.

Agrupe e desagrupe linhas numa folha de cálculo protegida com código VBA


seta azul para a direita com balão Agrupe e desagrupe linhas numa folha de cálculo protegida com código VBA

É um desafio comum que as opções de agrupar e desagrupar fiquem indisponíveis ao proteger uma folha de cálculo. Uma solução fiável para este problema passa por utilizar um código VBA, que lhe permite ativar programaticamente as funções de esquema sem perder a proteção da folha. Este método é ideal se estiver à vontade com macros ou se as políticas da sua organização permitirem o uso de código VBA. No entanto, tenha em atenção que as soluções VBA exigem livros com macros ativadas ().xlsm) e não devem ser utilizadas se as macros estiverem desativadas no seu ambiente ou se pretender evitar alertas de segurança ao abrir ficheiros.

1. Ative a folha de cálculo onde pretende utilizar o agrupamento e desagrupamento. Certifique-se de que a folha está atualmente desprotegida — caso contrário, este método não será aplicável. Se necessário, comece por utilizar o comando Rever > Desproteger Folha.

2. Em seguida, prima ALT + F11 para abrir o editor do Microsoft Visual Basic for Applications.

3. No editor do VBA, clique em Inserir > Módulo e, de seguida, cole o seguinte código na nova janela do módulo. Certifique-se de que cola o código com precisão para garantir o seu correto funcionamento.

Código VBA: Agrupar e desagrupar linhas numa folha de cálculo protegida

Sub EnableOutlining()
'Updateby Extendoffice
Dim xWs As Worksheet
Set xWs = Application.ActiveSheet
Dim xPws As String
xPws = Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = True
End Sub

Este código ativa a proteção da folha de cálculo, mantendo simultaneamente a possibilidade de expandir e contrair linhas ou colunas agrupadas. Ser-lhe-á solicitado que defina uma palavra-passe de proteção — certifique-se de a memorizar, pois irá precisar dela para desproteger a folha no futuro. Caso a esqueça, poderá não conseguir desbloquear a folha sem recorrer a métodos avançados de recuperação.

4. Prima F5 para executar o código. Irá surgir uma solicitação a pedir-lhe que defina a palavra-passe de proteção da folha. Introduza a palavra-passe pretendida e clique em OK. Veja a imagem abaixo:

grupo em folha protegida com vba

5. Clique em OK após introduzir a sua palavra-passe. Agora, a folha está protegida, mas ainda pode expandir e contrair grupos através dos símbolos de mais e menos — os Símbolos de Contorno à esquerda da folha —, conforme mostrado na imagem:

grupo em folha protegida como normal ao executar código vba

Dicas e precauções:

  • Se a folha de cálculo já estiver protegida, o código não será executado — desproteja-a sempre antes.
  • A proteção baseada em VBA pode revelar-se eficaz em cenários avançados, mas exclui ambientes com restrições a macros ou utilizadores menos familiarizados com VBA.
  • Sempre que partilhar um livro com macros ativadas, lembre os destinatários de ativar as macros para garantir o funcionamento destas funções.

Vantagens: Este método oferece flexibilidade na automatização do processo de proteção e na personalização das ações permitidas.

Limitações: As macros têm de estar ativadas, e nem todos os utilizadores ou organizações permitem a utilização de VBA por motivos de segurança.

Se encontrar erros ou se a funcionalidade de agrupamento não funcionar como esperado após executar a macro, verifique novamente:

  • A folha de cálculo foi desprotegida antes da execução da macro.
  • Os Símbolos de Contorno (mais/menos) já tinham sido criados através de Dados > Agrupar antes da proteção.
  • Introduza corretamente a palavra-passe no pedido ou experimente uma palavra-passe mais simples para resolver o problema.
  • As suas definições de macro no Excel permitem a execução de código VBA.
Se os problemas persistirem, experimente os métodos alternativos abaixo, especialmente concebidos para utilizadores que não utilizam macros.