Nevajadzīgo rindu un kolonnu slēpšana/rādīšana

Problēmas formulēšana

Pieņemsim, ka mums ir šāds galds, ar kuru mums ir "jādejo" katru dienu:

 

Kam galds šķiet mazs – garīgi reiziniet to divdesmit reizes pēc platības, pieskaitot vēl pāris kvartālus un divus desmitus lielu pilsētu. 

Uzdevums ir uz laiku noņemt no ekrāna rindas un kolonnas, kas šobrīd ir nevajadzīgas darbam, ti, 

  • slēpt informāciju pa mēnešiem, atstājot tikai ceturkšņus
  • slēpt kopsummas pa mēnešiem un ceturkšņiem, atstājot tikai kopsummu pusgadam
  • slēpt šobrīd nevajadzīgās pilsētas (strādāju Maskavā – kāpēc man jāredz Pēterburga?) utt.

Reālajā dzīvē ir daudz šādu tabulu piemēru.

1. metode: rindu un kolonnu slēpšana

Metode, atklāti sakot, ir primitīva un ne pārāk ērta, taču par to var teikt divus vārdus. Visas iepriekš atlasītās rindas vai kolonnas lapā var paslēpt, ar peles labo pogu noklikšķinot uz kolonnas vai rindas galvenes un konteksta izvēlnē atlasot komandu slēpt (Paslēpt):

 

Reversai rādīšanai atlasiet blakus esošās rindas/kolonnas un, ar peles labo pogu noklikšķinot, izvēlnē atlasiet attiecīgi displejs (Parādīt slēpšanu).

Problēma ir tā, ka jums ir jārisina katra kolonna un rinda atsevišķi, kas ir neērti.

2. metode. Grupēšana

Ja atlasāt vairākas rindas vai kolonnas un pēc tam atlasāt izvēlnē Dati – grupa un struktūra – grupa (Dati — grupa un kontūra — grupa), tad tie tiks ievietoti kvadrātiekavās (grupēti). Turklāt grupas var ligzdot vienu citā (atļauts līdz 8 ligzdošanas līmeņiem):

Ērtāks un ātrāks veids ir izmantot īsinājumtaustiņus, lai grupētu iepriekš atlasītās rindas vai kolonnas. Alt+Shift+labā bultiņa, un atgrupēšanai Alt+Shift+kreisā bultiņa, Attiecīgi.

Šī nevajadzīgo datu slēpšanas metode ir daudz ērtāka – varat noklikšķināt uz pogas ar “+"Vai"Sākot no“, vai uz pogām ar skaitlisko grupēšanas līmeni lapas augšējā kreisajā stūrī – tad visas vēlamā līmeņa grupas tiks sakļautas vai izvērstas uzreiz.

Arī ja jūsu tabulā ir kopsavilkuma rindas vai kolonnas ar blakus esošo šūnu summēšanas funkciju, tas ir, iespēja (nav 100% patiesība), ka Excel viņš izveidos visas nepieciešamās grupas tabulā ar vienu kustību – caur ēdienkarti Dati – grupa un struktūra – izveidot struktūru (Dati — grupa un kontūra — izveidot kontūru). Diemžēl šāda funkcija darbojas ļoti neprognozējami un dažreiz uz sarežģītām tabulām izdara pilnīgas muļķības. Bet jūs varat mēģināt.

Programmā Excel 2007 un jaunākās versijās visi šie prieki ir pieejami Datums (Datums) grupā   struktūra (Struktūra):

3. metode. Atzīmēto rindu/kolonnu slēpšana ar makro

Šī metode, iespējams, ir visdaudzpusīgākā. Pievienosim lapas sākumam tukšu rindu un tukšu kolonnu un ar jebkuru ikonu atzīmēsim tās rindas un kolonnas, kuras vēlamies paslēpt:

Tagad atveram Visual Basic redaktoru (ALT + F11), ievietojiet jaunu tukšu moduli mūsu grāmatā (izvēlne Ievietot - modulis) un nokopējiet tur divu vienkāršu makro tekstu:

Sub Hide() Aptumšot šūnu kā diapazonu Application.ScreenUpdating = False 'Atspējot ekrāna atjaunināšanu, lai paātrinātu katras šūnas ActiveSheet.UsedRange.Rows(1).Cells 'Atkārtot visas šūnas pirmajā rindā If cell.Value = "x " Tad šūna .EntireColumn.Hidden = True 'ja šūnā x - slēpt kolonnu Next Katrai šūnai ActiveSheet.UsedRange.Columns(1).Šūnas "iet cauri visām pirmās kolonnas šūnām If cell.Value = "x" Tad cell.EntireRow.Hidden = True 'ja šūnā x — paslēpt rindu Next Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'atcelt visas slēptās rindas un kolonnas Rows.Hidden = False End Sub Sub  

Kā jūs varētu uzminēt, makro slēpt slēpņi un makro Parādīt - Parāda atpakaļ marķētās rindas un kolonnas. Ja vēlaties, makro var piešķirt karstos taustiņus (Alt+F8 un pogu parametri), vai izveidojiet pogas tieši lapā, lai tās palaistu no cilnes Izstrādātājs – Ievietot – poga (Izstrādātājs — Ievietot — poga).

4. metode. Rindu/kolonnu slēpšana ar doto krāsu

Pieņemsim, ka iepriekš minētajā piemērā mēs, gluži pretēji, vēlamies paslēpt kopsummas, ti, purpursarkanās un melnās rindas un dzeltenās un zaļās kolonnas. Tad mūsu iepriekšējais makro būs nedaudz jāmaina, tā vietā, lai pārbaudītu “x” klātbūtni, pievienojot pārbaudi, vai aizpildījuma krāsa atbilst nejauši atlasītām parauga šūnām:

Sub HideByColor() Aptumšot šūnu kā diapazonu Application.ScreenUpdating = False katrai šūnai ActiveSheet.UsedRange.Rows(2).Cells If cell.Interior.Color = Range("F2").Interior.Color Tad cell.EntireColumn.Hidden = True If cell.Interior.Color = Range("K2").Interior.Color Tad cell.EntireColumn.Hidden = True Next katrai šūnai ActiveSheet.UsedRange.Columns(2).Cells If cell.Interior.Color = diapazons ("D6").Interior.Color Tad cell.EntireRow.Hidden = True If cell.Interior.Color = diapazons ("B11").Interior.Color Tad cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Tomēr mēs nedrīkstam aizmirst par vienu brīdinājumu: šis makro darbojas tikai tad, ja avota tabulas šūnas tika aizpildītas ar krāsu manuāli, nevis izmantojot nosacījumu formatējumu (tas ir īpašuma Interior.Color ierobežojums). Piemēram, ja jūs savā tabulā automātiski iezīmējāt visus darījumus, kuru skaits ir mazāks par 10, izmantojot nosacījumformatējumu:

Nevajadzīgo rindu un kolonnu slēpšana/rādīšana

… un vēlaties tos paslēpt ar vienu kustību, tad iepriekšējais makro būs "jāpabeidz". Ja jums ir Excel 2010–2013, varat izkļūt, izmantojot īpašumu interjers īpašums DisplayFormat.Interjers, kas izvada šūnas krāsu neatkarīgi no tā, kā tā ir iestatīta. Makro zilo līniju paslēpšanai varētu izskatīties šādi:

Sub HideByConditionalFormattingColor() Aptumšot šūnu kā diapazona Application.ScreenUpdating = False katrai šūnai ActiveSheet.UsedRange.Columns(1).Cells If cell.DisplayFormat.Interior.Color = Range("G2").DisplayFormat.Interior.Color Tad šūna .EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Šūnu G2 ņem par paraugu krāsu salīdzināšanai. Diemžēl īpašums Displeja formāts parādījās programmā Excel tikai no 2010. gada versijas, tāpēc, ja jums ir Excel 2007 vai vecāka versija, jums būs jāizdomā citi veidi.

  • Kas ir makro, kur ievietot makro kodu, kā tos lietot
  • Automātiska grupēšana daudzlīmeņu sarakstos

 

Atstāj atbildi