Note: The other languages of the website are Google-translated. Back to English

Como agrupar e desagrupar linhas em uma planilha protegida?

Como todos sabemos, em uma planilha protegida, existem muitas limitações para que possamos aplicar algumas operações. Por exemplo, não podemos alternar entre dados agrupados e desagrupados. Existe uma maneira de agrupar ou desagrupar linhas em uma planilha protegida?

Agrupe e desagrupe linhas em uma planilha protegida com código VBA

Guia Office Habilite a edição e navegação com guias no Office e torne seu trabalho muito mais fácil ...
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e tudo mais usados ​​ou complexos aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais de 20 recursos de texto: Extrair número da string de texto; Extraia ou remova parte dos textos; Converta números e moedas para palavras em inglês.
  • Ferramentas de mesclagem: Várias pastas de trabalho e planilhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Divida os dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos do Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Colar Ignorando Linhas ocultas / filtradas; Contagem e soma por cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer planilha; tipo por semana, dia, frequência e muito mais; filtros por negrito, fórmulas, comentário ...
  • Mais de 300 recursos poderosos; Funciona com Office 2007-2021 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

seta azul bolha direita Agrupe e desagrupe linhas em uma planilha protegida com código VBA

Talvez não haja outra maneira boa de resolver esse problema, a não ser usando um código VBA, faça o seguinte:

1. Ative a planilha que deseja usar, certifique-se de que a planilha ainda não esteja protegida.

2. Em seguida, mantenha pressionado o ALT + F11 chaves, e abre o Janela Microsoft Visual Basic for Applications.

3. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.

Código VBA: agrupar e desagrupar linhas em uma planilha protegida

Sub EnableOutlining()
'Update 20140603
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

4. Então aperte F5 para executar esse código e uma caixa de prompt aparecerá para lembrá-lo de inserir a senha para proteger a planilha atual. Veja a imagem:

doc-group-in-protected-sheet1

5. Então clique OK, sua planilha foi protegida, mas você pode expandir e contrair os símbolos de contorno nesta planilha protegida, consulte a captura de tela:

doc-group-in-protected-sheet1

Nota: Se sua planilha já estiver protegida, este código não funcionará.


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (32)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Isso parece funcionar muito bem, mas quando fecho e reabro a pasta de trabalho, me deparo com o mesmo problema - não consigo expandir meus grupos recolhidos.
Este comentário foi feito pelo moderador no site
Estou com o mesmo problema, alguém sabe como resolver. Muito Obrigado
Este comentário foi feito pelo moderador no site
Você precisa do VBA para isso, e o usuário final precisará permitir macros para que isso funcione.

Pressione Alt+F11 para ativar o Editor do Visual Basic.

Clique duas vezes em ThisWorkbook, em Microsoft Excel Objects no explorador de projetos no lado esquerdo.

Copie o seguinte código no módulo que aparece:



Private Sub Workbook_Open ()
Com planilhas("Resumo Emp")
.EnableOutlining = Verdadeiro
.Proteger UserInterfaceOnly:=True
Terminar com
End Sub



Esse código será executado automaticamente toda vez que a pasta de trabalho for aberta.
Este comentário foi feito pelo moderador no site
[quote]Isso parece funcionar muito bem, mas quando fecho e reabro a pasta de trabalho, me deparo com o mesmo problema - não consigo expandir meus grupos recolhidos.Por mayich[/quote]Esse assunto é resolvido como abaixo Private Sub Workbook_Open() Dim wsh As Variant For Each wsh In Worksheets(Array("Sheet1", "Sheet2")) wsh.EnableOutlining = True wsh.Protect Password:="260615" , DrawingObjects:=False, _ contents:=True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Este comentário foi feito pelo moderador no site
Eu tenho o mesmo problema, assim que eu fecho e reinsiro a planilha, não funciona... por favor dê passo a passo de onde e como usar Esse assunto é resolvido como abaixo Private Sub Workbook_Open() Dim wsh As Variante para cada wsh em planilhas(Arra y("Sheet1", "Sheet2")) wsh.EnableOutlining = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _ contents:=True, _ Scenarios: =True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Este comentário foi feito pelo moderador no site
Muito obrigado mano isso funciona muito bom. Muito obrigado
Este comentário foi feito pelo moderador no site
Como você fez isso funcionar? Eu tentei adicioná-lo ao VBA acima e fazer um módulo diferente, mas ainda não funciona. Preciso alterar algum dos códigos? como minha senha que estou usando ou preciso alterar os nomes das planilhas?
Este comentário foi feito pelo moderador no site
Eu tenho o mesmo problema quando eu fecho a pasta de trabalho. Alguma idéia para corrigi-lo?
Este comentário foi feito pelo moderador no site
Private Sub Workbook_Open() Dim wsh como variante para cada wsh em planilhas(Array("TD_ phase_3", "RS_Phase_2")) wsh.EnableOutlining = True wsh.Protect Password:="260615", DrawingObjects:=False, _ contents: =True, _ Cenários:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Este comentário foi feito pelo moderador no site
Ainda não tenho certeza de como isso funciona. Faço um novo módulo ou anexo ao anterior?
Este comentário foi feito pelo moderador no site
Você pode fazer um passo a passo de onde colocar isso como eles fizeram nas instruções originais. Obrigada.
Este comentário foi feito pelo moderador no site
Olá! Usei a primeira macro com sucesso e depois tive o mesmo problema de fechar a pasta de trabalho e a macro não funcionava mais. Eu vejo a solução acima, mas não consigo fazer isso funcionar. Você se importaria de me passar? Eu combino os dois códigos ou apenas uso o último? Se minha senha for "cachorro" eu substituo um dos valores no código? Estou aplicando apenas em uma planilha ("Planilha1"); eu uso isso em qualquer lugar? Muito obrigado antecipadamente!!
Este comentário foi feito pelo moderador no site
Por favor me ajude, quero recolher e expandir alguns rolos e colunas em uma planilha excel que esteja protegida. Como posso usar macros para fazer isso? Eu tentei o que você mostrou, mas eles simplesmente não funcionam na minha planilha. Por favor ajude.
Este comentário foi feito pelo moderador no site
Olá, por favor me ajude a expandir e recolher rolos e colunas em planilha excel que está protegida. Eu tentei usar os que você mostrou acima, mas eles não funcionam.
Este comentário foi feito pelo moderador no site
Foi perguntado/respondido? Onde no código você pode especificar/alterar uma senha pessoal?
Este comentário foi feito pelo moderador no site
Como posso alterar a senha para outro valor?
Este comentário foi feito pelo moderador no site
Quando eu uso o comando, vejo uma mensagem de erro conforme mostrado abaixo:
Private Sub Workbook_Open ()
Dim wsh como variante
Para cada wsh em planilhas(Array("TD_ phase_3", "RS_Phase_2"))
wsh.EnableOutlining = Verdadeiro
wsh.Protect Password:="260615", DrawingObjects:=False, _
conteúdo:=Verdadeiro, _
Cenários:=Verdadeiro, _
AllowFiltering:=Verdadeiro, _
AllowFormattingCells:=Verdadeiro, _
userinterfaceonly:=Verdadeiro
Próxima página
End Sub
Erro de tempo de execução '9':
Subscrito fora do intervalo
Este comentário foi feito pelo moderador no site
isso funciona um pouco, uma vez que você fecha e reabre, ele para :(
Este comentário foi feito pelo moderador no site
Mesmo para mim, existe alguma outra solução?
Este comentário foi feito pelo moderador no site
Sub pasta de trabalho_Open()
'Atualizar 20140603
Dim xWs como planilha
Definir xWs = Application.ActiveSheet
Dim xPws como string
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Verdadeiro
End Sub
Este comentário foi feito pelo moderador no site
Consegui fazer esse código funcionar. Mas quando eu fecho e reabro devo ir na aba do desenvolvedor, selecionar o botão macros, selecionar executar e digitar a senha.

Existe uma maneira de remover a senha do código OU um código de execução automática que executará automaticamente este marco e inserirá a senha?
Este comentário foi feito pelo moderador no site
Para corrigir o problema de isso não funcionar em seu arquivo depois de fechá-lo e abri-lo novamente, você deve colar o código VBA em "ThisWorkbook" em Microsoft Excel Objects em vez de um novo módulo. Isso executará automaticamente a macro toda vez que o arquivo for aberto.
Este comentário foi feito pelo moderador no site
você tem visuais para o código VBA discutido 6 dias atrás para peachyclean sobre ThisWorkbook em Microsoft Objects em vez de um novo módulo. A funcionalidade é perdida quando eu volto para minha pasta de trabalho
Este comentário foi feito pelo moderador no site
Alguém pode precisar disso, acho que descobri como fazer isso funcionar.

Primeiro, seu código precisa ser escrito em "ThisWorkbook" em Microsoft Excel Objects, como sugere @peachyclean.
Segundo, pegue o código que @Sravanthi escreveu e cole no local mencionado acima.

Sub pasta de trabalho_Open()
'Atualizar 20140603
Dim xWs como planilha
Definir xWs = Application.ActiveSheet
Dim xPws como string
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Verdadeiro
End Sub

O problema é que você precisa estar na planilha que deseja proteger, mas permitir o uso de agrupamento, salvar a pasta de trabalho e fechar, sem proteger. Agora, se você abri-lo, a macro iniciará automaticamente, fará com que a planilha seja protegida com a senha "rfc". Agora você pode usar o agrupamento, a planilha está protegida.

Para minha solução, modifiquei a senha aplicada, para que você possa reescrever qualquer senha AQUI:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Password:", xTitleId, "", Type:=2)

Além disso, eu não queria a planilha a ser protegida ativa ao abrir o arquivo, portanto modifiquei esta parte:
Definir xWs = Application.ActiveSheet ->
Set xWs = Application.Worksheets("WRITEANYSHEET'SNAMEHERE")

Agora funciona como charme, a folha chamada 'WRITEANYSHEET'SNAMEHERE' está protegida, mas o agrupamento é aplicável. A longo prazo, acho que o problema será que, se eu quiser modificar esse arquivo e manter a solução, preciso desproteger esta planilha para fazê-la funcionar na próxima abertura. Acho que você pode escrever outra macro para desproteger automaticamente ao fechar :)


Espero que tenha ajudado.
Este comentário foi feito pelo moderador no site
Hii .. isso funcionou maravilhas. o único lugar em que estou ficando preso agora é que preciso fazer isso para várias planilhas na pasta de trabalho. você pode pls ajudar com isso.
Este comentário foi feito pelo moderador no site
Essa string parecia ser exatamente o que eu precisava, pois não sei nada sobre VBA. Eu consegui fazer isso funcionar inicialmente, mas como foi apontado, uma vez que você fecha a planilha e a reabre, ela não funciona mais. Tentei escrever o código em "ThisWorkbook" conforme observado, mas não consigo descobrir como fazer isso. Posso ver "ThisWorkbook", mas não sei como escrever nele. De todas as maneiras que vejo para criar um módulo, ele cria um novo módulo em uma pasta separada "Módulos", fora da pasta "Objetos do Microsoft Excel". Alguma sugestão sobre como colocar este código em "ThisWorkbook"?
Este comentário foi feito pelo moderador no site
formidável
Este comentário foi feito pelo moderador no site
Como agrupar e desagrupar linhas e colunas na planilha protegida?
Este comentário foi feito pelo moderador no site
foda-se, isso roubou meu excel mais tarde e mudou a senha em particular
Este comentário foi feito pelo moderador no site
Existe uma maneira de fazer isso funcionar em uma pasta de trabalho compartilhada? - Eu preciso das mudanças de faixa, obrigado
Não há comentários postados aqui ainda
carregar mais
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL