Ocultar/mostrar files i columnes innecessàries

Formulació del problema

Suposem que tenim una taula amb la qual hem de "ballar" cada dia:

 

A qui la taula sembla petita: multipliqueu-la mentalment vint vegades per àrea, afegint un parell de blocs més i dues dotzenes de grans ciutats. 

La tasca és eliminar temporalment de la pantalla les files i columnes que actualment no són necessàries per al treball, és a dir, 

  • amaga els detalls per mes, deixant només quarts
  • amagar els totals per mesos i trimestres, deixant només el total durant mig any
  • amagar ciutats que no són necessàries en aquest moment (jo treballo a Moscou, per què hauria de veure Sant Petersburg?), etc.

A la vida real, hi ha un mar d'exemples d'aquestes taules.

Mètode 1: amagar files i columnes

El mètode, francament, és primitiu i poc convenient, però se'n poden dir dues paraules. Qualsevol fila o columna seleccionada prèviament en un full es pot amagar fent clic amb el botó dret a la capçalera de la columna o de la fila i seleccionant l'ordre al menú contextual. Amaga (Amaga):

 

Per a la visualització inversa, seleccioneu les files/columnes adjacents i, fent clic amb el botó dret, seleccioneu al menú, respectivament, display (Mostra).

El problema és que heu de tractar cada columna i fila individualment, cosa que és inconvenient.

Mètode 2. Agrupació

Si seleccioneu diverses files o columnes i després seleccioneu al menú Dades – Grup i Estructura – Grup (Dades — Grup i esquema — Grup), llavors s'agruparan entre claudàtors (agrupats). A més, els grups es poden niuar els uns als altres (es permeten fins a 8 nivells de nidificació):

Una manera més còmoda i ràpida és utilitzar una drecera de teclat per agrupar files o columnes preseleccionades. Alt+Maj+Fletxa dreta, i per desagrupar Alt+Maj+Fletxa esquerra, Respectivament.

Aquest mètode per amagar dades innecessàries és molt més convenient: podeu fer clic al botó amb el botó "+"O"-", o als botons amb un nivell d'agrupació numèrica a la cantonada superior esquerra del full; llavors tots els grups del nivell desitjat es replegaran o s'ampliaran alhora.

també, si la vostra taula conté files o columnes de resum amb la funció de sumar cel·les veïnes, és a dir, una possibilitat (no 100% cert) que Excel crearà tots els grups necessaris a la taula amb un sol moviment: a través del menú Dades – Grup i Estructura – Crear estructura (Dades — Grup i esquema — Crear esquema). Malauradament, aquesta funció funciona de manera molt imprevisible i, de vegades, no té sentit en taules complexes. Però pots provar.

A Excel 2007 i posteriors, totes aquestes alegries es troben a la pestanya dades (Data) en grup   estructura (esquema):

Mètode 3. Amagar les files/columnes marcades amb una macro

Aquest mètode és potser el més versàtil. Afegim una fila i una columna buides al principi del nostre full i marquem amb qualsevol icona aquelles files i columnes que volem amagar:

Ara obrim l'Editor de Visual Basic (ALT + F11), inseriu un mòdul buit nou al nostre llibre (menú Inserir – Mòdul) i copieu-hi el text de dues macros senzilles:

Sub Hide() Dim cell As Range Application.ScreenUpdating = Fals 'Desactiva l'actualització de la pantalla per accelerar Per a cada cel·la a ActiveSheet.UsedRange.Rows(1).Cells' Iterar sobre totes les cel·les de la primera fila Si cell.Value = "x " Aleshores cel·la .EntireColumn.Hidden = True 'si a la cel·la x - oculta la columna Següent per a cada cel·la a ActiveSheet.UsedRange.Columns(1).Cells' passen per totes les cel·les de la primera columna Si cell.Value = "x" Aleshores cell.EntireRow.Hidden = True 'si es troba a la cel·la x - amaga la fila Següent Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = Fals 'cancel·la totes les files i columnes que s'amaguen Rows.Hidden = Fals End Sub  

Com podeu endevinar, la macro Amaga oculta i la macro show – Mostra les files i columnes etiquetades posteriorment. Si es desitja, es poden assignar tecles d'accés ràpid a les macros (Alt + F8 i botó Paràmetres), o creeu botons directament al full per llançar-los des de la pestanya Desenvolupador – Inserir – Botó (Desenvolupador - Insereix - Botó).

Mètode 4. Amagar files/columnes amb un color determinat

Diguem que en l'exemple anterior, nosaltres, per contra, volem amagar els totals, és a dir, files morades i negres i columnes grogues i verdes. Aleshores, la nostra macro anterior s'haurà de modificar lleugerament afegint, en lloc de comprovar la presència de "x", una comprovació per fer coincidir el color de farciment amb les cel·les de mostra seleccionades aleatòriament:

Sub HideByColor() Atenuació de la cel·la com a rang Application.ScreenUpdating = Fals per a cada cel·la a ActiveSheet.UsedRange.Rows(2).Cells If cell.Interior.Color = Range("F2").Interior.Color Then cell.EntireColumn.Hidden = True If cell.Interior.Color = Range("K2").Interior.Color Then cell.EntireColumn.Hidden = True Següent per a cada cel·la a ActiveSheet.UsedRange.Columns(2).Cells If cell.Interior.Color = Interval ("D6").Interior.Color Then cell.EntireRow.Hidden = True If cell.Interior.Color = Range("B11").Interior.Color Then cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Tanmateix, no ens hem d'oblidar d'una advertència: aquesta macro només funciona si les cel·les de la taula d'origen s'han omplert de color manualment i no utilitza el format condicional (això és una limitació de la propietat Interior.Color). Així, per exemple, si heu ressaltat automàticament totes les ofertes de la vostra taula on el nombre és inferior a 10 mitjançant el format condicional:

Ocultar/mostrar files i columnes innecessàries

... i voleu amagar-los en un sol moviment, llavors la macro anterior haurà d'estar "acabada". Si teniu Excel 2010-2013, podeu sortir utilitzant en comptes de la propietat Interior propietat DisplayFormat.Interior, que mostra el color de la cel·la, independentment de com s'hagi configurat. La macro per amagar les línies blaves podria semblar així:

Sub HideByConditionalFormattingColor() Atenuació de la cel·la com Range Application.ScreenUpdating = Fals per a cada cel·la a ActiveSheet.UsedRange.Columns(1).Cells If cell.DisplayFormat.Interior.Color = Range("G2").DisplayFormat.Interior.Color Then cell .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

La cel·la G2 es pren com a mostra per a la comparació de colors. Malauradament la propietat Format de visualització va aparèixer a Excel només a partir de la versió 2010, de manera que si teniu Excel 2007 o anterior, haureu de trobar altres maneres.

  • Què és una macro, on inserir el codi de macro, com utilitzar-les
  • Agrupació automàtica en llistes multinivell

 

Deixa un comentari