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

Come raggruppare e separare le righe nel foglio di lavoro protetto?

Come tutti sappiamo, in un foglio di lavoro protetto, ci sono molte limitazioni per noi per applicare alcune operazioni. Ad esempio, non possiamo alternare tra dati raggruppati e non raggruppati. C'è un modo per raggruppare o separare le righe in un foglio di lavoro protetto?

Raggruppa e separa le righe in un foglio di lavoro protetto con codice VBA

Scheda Office Abilita la modifica a schede e la navigazione in Office e semplifica notevolmente il lavoro ...
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
  • Riutilizza qualsiasi cosa: Aggiungi le formule, i grafici e qualsiasi altra cosa più usati o complessi ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più di 20 funzioni di testo: Estrai numero dalla stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi.
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma.
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro su più file Excel, PDF o CSV; Da una colonna a più colonne.
  • Incolla Salto Righe nascoste / filtrate; Count And Sum di Background Color; Invia e-mail personalizzate a più destinatari in blocco.
  • Super filtro: Crea schemi di filtri avanzati e applicali a qualsiasi foglio; Riordina per settimana, giorno, frequenza e altro; Filtro in grassetto, formule, commenti ...
  • Più di 300 potenti funzionalità; Funziona con Office 2007-2021 e 365; Supporta tutte le lingue; Facile implementazione nella tua azienda o organizzazione.

freccia blu freccia destra Raggruppa e separa le righe in un foglio di lavoro protetto con codice VBA

Forse, non esiste un altro buon modo per risolvere questo problema ma utilizzando un codice VBA, per favore fai come segue:

1. Attiva il foglio di lavoro che desideri utilizzare, assicurati che il foglio di lavoro non sia ancora protetto.

2. Quindi tieni premuto il pulsante ALT + F11 chiavi e apre il file Finestra di Microsoft Visual Basic, Applications Edition.

3. Clic inserire > Moduloe incolla il codice seguente nel file Finestra del modulo.

Codice VBA: raggruppa e separa le righe in un foglio di lavoro protetto

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. Quindi premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di inserire la password per proteggere il foglio di lavoro corrente. Vedi screenshot:

doc-group-in-protected sheet1

5. Quindi fare clic OK, il tuo foglio di lavoro è stato protetto, ma puoi espandere e contrarre i simboli di struttura in questo foglio di lavoro protetto, vedi screenshot:

doc-group-in-protected sheet1

Note:: Se il tuo foglio di lavoro è già protetto, questo codice non funzionerà.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (32)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Sembra funzionare alla grande, ma quando chiudo e riapro la cartella di lavoro, mi imbatto nello stesso problema: non riesco a espandere i miei gruppi compressi.
Questo commento è stato fatto dal moderatore sul sito
Ho lo stesso problema, qualcuno sa come risolverlo. Grazie molto
Questo commento è stato fatto dal moderatore sul sito
È necessario VBA per questo e l'utente finale dovrà consentire le macro affinché funzioni.

Premi Alt+F11 per attivare l'editor di Visual Basic.

Fare doppio clic su ThisWorkbook, in Microsoft Excel Objects in Project Explorer sul lato sinistro.

Copia il codice seguente nel modulo che appare:



Private Sub Workbook_Open ()
Con fogli di lavoro ("Riepilogo emp")
.EnableOutlining = Vero
.Protect UserInterfaceOnly:=Vero
Fine Con
End Sub



Questo codice verrà eseguito automaticamente ogni volta che si apre la cartella di lavoro.
Questo commento è stato fatto dal moderatore sul sito
[quote]Sembra funzionare alla grande, ma quando chiudo e riapro la cartella di lavoro, mi imbatto nello stesso problema: non riesco a espandere i miei gruppi compressi.Per mayich[/quote]La questione è risolta come di seguito 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, _ content:=True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho lo stesso problema, non appena chiudo e reinserisco il foglio, non funziona ... per favore indica passo dopo passo dove e come usarlo La questione è risolta come di seguito Private Sub Workbook_Open() Dim wsh As Variante per ogni wsh In Worksheets(Arra y("Sheet1", "Sheet2")) wsh.EnableOutli ning = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _ content:=True, _ Scenari: =True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Questo commento è stato fatto dal moderatore sul sito
Grazie mille fratello, funziona davvero bene. Grazie mille
Questo commento è stato fatto dal moderatore sul sito
Come hai fatto a farlo funzionare? Ho provato ad aggiungerlo al VBA sopra e a creare un modulo diverso ma continua a non funzionare. Devo modificare qualcuno dei codici? come la mia password che sto usando o devo cambiare i nomi dei fogli?
Questo commento è stato fatto dal moderatore sul sito
Ho lo stesso problema quando chiudo la cartella di lavoro. Qualche idea per risolverlo?
Questo commento è stato fatto dal moderatore sul sito
Private Sub Workbook_Open() Dim wsh come variante per ogni wsh nei fogli di lavoro(Array("TD_ phase_3", "RS_Phase_2")) wsh.EnableOutlining = True wsh.Protect Password:="260615", DrawingObjects:=False, _ content: =True, _ Scenari:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Questo commento è stato fatto dal moderatore sul sito
Non sono ancora sicuro di come funzioni. Faccio un nuovo modulo o lo allego a quello sopra?
Questo commento è stato fatto dal moderatore sul sito
Puoi fare una guida passo passo su dove metterlo come hanno fatto nelle istruzioni originali. Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao! Ho usato la prima macro con successo e poi ho riscontrato lo stesso problema di chiusura della cartella di lavoro e la macro non funzionava più. Vedo la soluzione sopra ma non riesco a farla funzionare affatto. Ti dispiacerebbe farmi un passaggio? Combino entrambi i codici o uso solo quest'ultimo? Se la mia password è "cane" sostituisco uno dei valori nel codice? Sto solo facendo domanda per un foglio di lavoro ("Foglio 1"); lo uso da qualche parte? Molte grazie in anticipo!!
Questo commento è stato fatto dal moderatore sul sito
Per favore aiutami, voglio comprimere ed espandere alcuni rotoli e colonne in un foglio di calcolo Excel protetto. Come posso usare le macro per farlo? Ho provato quello che hai mostrato ma semplicemente non funzionano sul mio foglio di calcolo. Per favore aiuto.
Questo commento è stato fatto dal moderatore sul sito
Ciao, per favore aiutami a espandere e comprimere rotoli e colonne in un foglio di calcolo Excel protetto. Ho provato a usare quelli che hai mostrato sopra ma non funzionano.
Questo commento è stato fatto dal moderatore sul sito
È stato chiesto/risposto? Dove nel codice è possibile specificare/modificare una password personale?
Questo commento è stato fatto dal moderatore sul sito
Come posso cambiare la password con un altro valore?
Questo commento è stato fatto dal moderatore sul sito
Quando utilizzo il comando, viene visualizzato un messaggio di errore come mostrato di seguito:
Private Sub Workbook_Open ()
Dim wsh come variante
Per ogni wsh nei fogli di lavoro(Array("TD_ phase_3", "RS_Phase_2"))
wsh.EnableOutlining = Vero
wsh.Protect Password:="260615", DrawingObjects:=False, _
contenuto:=Vero, _
Scenari:=Vero, _
Consenti Filtraggio:=Vero, _
AllowFormattingCells:=Vero, _
userinterfaceonly:=Vero
Successivo
End Sub
Errore di runtime '9':
Sottoscritto fuori intervallo
Questo commento è stato fatto dal moderatore sul sito
funziona per un po', una volta che chiudi e riapri, si ferma :(
Questo commento è stato fatto dal moderatore sul sito
Anche per me, c'è qualche altra soluzione?
Questo commento è stato fatto dal moderatore sul sito
Sub Workbook_Open ()
'Aggiornamento 20140603
Dim xWs come foglio di lavoro
Imposta xWs = Application.ActiveSheet
Dim xPws come stringa
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Tipo:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Vero
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho fatto funzionare questo codice. Ma quando chiudo e riapro devo andare nella scheda sviluppatore, selezionare il pulsante macro, selezionare esegui e inserire la password.

C'è un modo per rimuovere la password dal codice OPPURE un codice di esecuzione automatica che eseguirà automaticamente questo marco e inserirà la password?
Questo commento è stato fatto dal moderatore sul sito
Per risolvere il problema che non funziona nel tuo file dopo averlo chiuso e aperto di nuovo, devi incollare il codice VBA in "ThisWorkbook" in Microsoft Excel Objects invece di un nuovo modulo. Questo eseguirà automaticamente la macro ogni volta che il file viene aperto.
Questo commento è stato fatto dal moderatore sul sito
hai elementi visivi per il codice VBA discusso 6 giorni fa su peachyclean su ThisWorkbook in Microsoft Objects invece di un nuovo modulo. La funzionalità viene persa quando torno nella mia cartella di lavoro
Questo commento è stato fatto dal moderatore sul sito
Qualcuno potrebbe aver bisogno di questo, penso di aver capito come farlo funzionare.

Innanzitutto, il codice deve essere scritto in "ThisWorkbook" in Microsoft Excel Objects, come suggerisce @peachyclean.
In secondo luogo, prendi il codice scritto da @Sravanthi e incollalo nella posizione sopra menzionata.

Sub Workbook_Open ()
'Aggiornamento 20140603
Dim xWs come foglio di lavoro
Imposta xWs = Application.ActiveSheet
Dim xPws come stringa
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Tipo:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Vero
End Sub

Il fatto è che devi essere sul foglio che vuoi proteggere ma consentendo l'uso del raggruppamento, salvare la cartella di lavoro e chiudere, senza proteggere. Ora se lo apri, la macro si avvia automaticamente, renderà il foglio protetto con la password "rfc". Ora puoi usare il raggruppamento, il foglio è protetto.

Per la mia soluzione, ho modificato la password applicata, quindi puoi riscrivere qualsiasi password QUI:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Password:", xTitleId, "", Tipo:=2)

Inoltre, non volevo che il foglio da proteggere fosse attivo all'apertura del file, quindi ho modificato questa parte:
Imposta xWs = Application.ActiveSheet ->
Imposta xWs = Application.Worksheets("WRITEANYSHEET'SNAMEHERE")

Ora funziona come charm, il foglio chiamato 'WRITEANYSHEET'SNAMEHERE' è protetto ma il raggruppamento è applicabile. A lungo termine, penso che il problema sarà che se voglio modificare questo file e mantenere la soluzione, devo rimuovere la protezione di questo foglio per farlo funzionare alla prossima apertura. Immagino che tu possa scrivere un'altra macro per rimuovere automaticamente la protezione alla chiusura :)


Spero sia stato d'aiuto.
Questo commento è stato fatto dal moderatore sul sito
Ciao.. ha funzionato a meraviglia. l'unico posto in cui mi sto bloccando ora è che devo farlo per più fogli nella cartella di lavoro. potete aiutare con quello.
Questo commento è stato fatto dal moderatore sul sito
Questa stringa sembrava essere esattamente ciò di cui avevo bisogno, poiché non so nulla di VBA. Inizialmente sono riuscito a farlo funzionare, ma come è stato sottolineato, una volta chiuso il foglio di calcolo e riaperto, non funziona più. Ho provato a scrivere il codice in "ThisWorkbook" come indicato ma non riesco a capire come farlo. Riesco a vedere "ThisWorkbook" ma non so come scriverci. In ogni modo che vedo per creare un modulo, crea un nuovo modulo in una cartella "Moduli" separata, al di fuori della cartella "Oggetti Microsoft Excel". Qualche suggerimento su come inserire questo codice in "ThisWorkbook"?
Questo commento è stato fatto dal moderatore sul sito
formidabile
Questo commento è stato fatto dal moderatore sul sito
Come raggruppare e separare righe e colonne nel foglio di lavoro protetto?
Questo commento è stato fatto dal moderatore sul sito
cazzo, questo ha rubato il mio excel in seguito e ha cambiato la password in privato
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per farlo funzionare su una cartella di lavoro condivisa? - Ho bisogno dei cambi di traccia, grazie
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL