Skrivanje/prikazovanje nepotrebnih vrstic in stolpcev

Formulacija problema

Recimo, da imamo takšno mizo, s katero moramo vsak dan »plesati«:

 

Komur se tabela zdi majhna - jo mentalno pomnožite dvajsetkrat s površino, dodajte še nekaj blokov in dva ducata velikih mest. 

Naloga je, da z zaslona začasno odstranimo vrstice in stolpce, ki so trenutno nepotrebni za delo, tj. 

  • skrij podrobnosti po mesecih in pusti samo četrtine
  • skrij vsote po mesecih in četrtletjih, pusti samo vsoto za pol leta
  • skriti mesta, ki so trenutno nepotrebna (delam v Moskvi – zakaj bi moral videti Sankt Peterburg?) itd.

V resničnem življenju obstaja veliko primerov takšnih tabel.

1. način: Skrivanje vrstic in stolpcev

Metoda je, odkrito povedano, primitivna in ni zelo priročna, vendar je o njej mogoče reči dve besedi. Vse predhodno izbrane vrstice ali stolpce na listu lahko skrijete tako, da z desno miškino tipko kliknete glavo stolpca ali vrstice in izberete ukaz v kontekstnem meniju Skrij (Skrij):

 

Za obratni prikaz izberite sosednje vrstice/stolpce in z desnim klikom v meniju izberite oz. zaslon (Razkrij).

Težava je v tem, da se morate ukvarjati z vsakim stolpcem in vrstico posebej, kar je neprijetno.

Metoda 2. Združevanje

Če izberete več vrstic ali stolpcev in nato izberete v meniju Podatki – skupina in struktura – skupina (Podatki — Skupina in Oris — Skupina), potem bodo v oglatih oklepajih (združeni). Poleg tega je mogoče skupine ugnezditi eno v drugo (dovoljenih je do 8 ravni gnezdenja):

Priročnejši in hitrejši način je uporaba bližnjice na tipkovnici za združevanje vnaprej izbranih vrstic ali stolpcev. Alt+Shift+puščica desno, in za razdruževanje Alt+Shift+puščica levoOz.

Ta način skrivanja nepotrebnih podatkov je veliko bolj priročen - lahko kliknete gumb z "+"Ali" -«, ali na gumbih s številčno stopnjo združevanja v zgornjem levem kotu lista – potem bodo vse skupine želene ravni naenkrat strnjene ali razširjene.

Torej, če vaša tabela vsebuje zbirne vrstice ali stolpce s funkcijo seštevanja sosednjih celic, to je možnost (ne 100 % res), da Excel ustvaril bo vse potrebne skupine v tabeli z enim gibom – skozi meni Podatki – Skupina in struktura – Ustvari strukturo (Podatki — Združi in oris — Ustvari oris). Na žalost taka funkcija deluje zelo nepredvidljivo in včasih naredi popolne neumnosti na kompleksnih tabelah. Ampak lahko poskusiš.

V Excelu 2007 in novejših so vse te radosti na zavihku datum (Datum) v skupini   struktura (oris):

3. način. Skrivanje označenih vrstic/stolpcev z makrom

Ta metoda je morda najbolj vsestranska. Na začetek našega lista dodamo prazno vrstico in prazen stolpec ter s poljubno ikono označimo tiste vrstice in stolpce, ki jih želimo skriti:

Zdaj pa odprimo urejevalnik Visual Basic (ALT + F11), vstavite nov prazen modul v našo knjigo (meni Vstavi – Modul) in tja kopirajte besedilo dveh preprostih makrov:

Sub Hide() Dim cell As Range Application.ScreenUpdating = False 'Onemogoči posodabljanje zaslona za pospešitev Za vsako celico v ActiveSheet.UsedRange.Rows(1).Cells 'Iteracija po vseh celicah v prvi vrstici If cell.Value = "x " Nato celica .EntireColumn.Hidden = True 'če je v celici x - skrij stolpec Naprej Za vsako celico V ActiveSheet.UsedRange.Columns(1).Celice 'gredo skozi vse celice prvega stolpca Če celica.Vrednost = "x" Potem cell.EntireRow.Hidden = True 'če je v celici x - skrij vrstico Next Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'prekliči vse skrite vrstice in stolpce Rows.Hidden = False End Sub  

Kot morda ugibate, makro Skrij kože in makro Sejem – Prikaže nazaj označene vrstice in stolpce. Po želji lahko makrom dodelite bližnjične tipke (Alt + F8 in gumb parametri) ali ustvarite gumbe neposredno na listu, da jih zaženete z zavihka Razvijalec – Vstavi – Gumb (Razvijalec — Vstavi — Gumb).

4. način. Skrivanje vrstic/stolpcev z dano barvo

Recimo, da v zgornjem primeru, ravno nasprotno, želimo skriti vsote, torej vijolične in črne vrstice ter rumene in zelene stolpce. Nato bo treba naš prejšnji makro nekoliko spremeniti tako, da namesto preverjanja prisotnosti »x« dodamo preverjanje ujemanja barve polnila z naključno izbranimi vzorčnimi celicami:

Sub HideByColor() Dim cell As Range Application.ScreenUpdating = False Za vsako celico v 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 Next For Every Cell In ActiveSheet.UsedRange.Columns(2).Cells If cell.Interior.Color = Range ("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  

Vendar ne smemo pozabiti na eno opozorilo: ta makro deluje le, če so bile celice izvorne tabele ročno napolnjene z barvo in ne s pogojnim oblikovanjem (to je omejitev lastnosti Interior.Color). Torej, če ste na primer samodejno označili vse posle v tabeli, kjer je število manjše od 10, s pogojnim oblikovanjem:

Skrivanje/prikazovanje nepotrebnih vrstic in stolpcev

… in jih želite skriti z enim gibom, potem bo treba prejšnji makro »dokončati«. Če imate Excel 2010-2013, lahko izstopite z uporabo namesto lastnosti Notranjost nepremičnine DisplayFormat.Interior, ki izpiše barvo celice, ne glede na to, kako je bila nastavljena. Makro za skrivanje modrih črt je lahko videti takole:

Sub HideByConditionalFormattingColor() Dim cell As Range Application.ScreenUpdating = False Za vsako celico v 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  

Celica G2 se vzame kot vzorec za barvno primerjavo. Na žalost nepremičnine DisplayFormat pojavil v Excelu šele od različice 2010, tako da, če imate Excel 2007 ali starejši, boste morali najti druge načine.

  • Kaj je makro, kam vstaviti kodo makra, kako jih uporabljati
  • Samodejno združevanje v večnivojske sezname

 

Pustite Odgovori