Садржај
Формулисање проблема
Претпоставимо да имамо такав сто са којим морамо да "плешемо" сваки дан:
To whom the table seems small – mentally multiply it twenty times by area, adding a couple more blocks and two dozen large cities.
Задатак је да се са екрана привремено уклоне редови и колоне који су тренутно непотребни за рад, тј.
- сакријте детаље по месецима, остављајући само квартале
- сакрити укупне вредности по месецима и кварталима, остављајући само збир за пола године
- сакрити градове који су тренутно непотребни (радим у Москви – зашто да видим Санкт Петербург?) итд.
У стварном животу постоји море примера таквих табела.
Метод 1: Сакривање редова и колона
Метода је, искрено, примитивна и није баш згодна, али о томе се могу рећи две речи. Било који претходно изабрани редови или колоне на листу могу се сакрити десним кликом на колону или заглавље реда и избором команде из контекстног менија Сакрити (Сакрити):
За обрнути приказ, изаберите суседне редове/колоне и десним кликом изаберите из менија, односно дисплеј (Откриј).
Проблем је што морате да радите са сваком колоном и редом појединачно, што је незгодно.
Метод 2. Груписање
Ако изаберете више редова или колона, а затим изаберете из менија Подаци – Група и Структура – Група (Подаци — Група и Контура — Група), онда ће бити стављени у угласту заграду (груписани). Штавише, групе могу бити угнежђене једна у другу (дозвољено је до 8 нивоа гнежђења):
Погоднији и бржи начин је да користите пречицу на тастатури за груписање унапред изабраних редова или колона. Алт+Схифт+стрелица надесно, и за разгруписавање Алт+Схифт+стрелица налево, редом.
Овај метод сакривања непотребних података је много практичнији – можете или да кликнете на дугме са „+"Или"-“, или на дугмадима са нумеричким нивоом груписања у горњем левом углу листа – тада ће се све групе жељеног нивоа одједном скупити или проширити.
Дакле, ако ваша табела садржи збирне редове или колоне са функцијом сумирања суседних ћелија, односно шанса (није 100% тачна) да Екцел створиће све потребне групе у табели једним покретом – кроз мени Подаци – Група и структура – Креирајте структуру (Подаци — Група и контура — Креирајте структуру). Нажалост, таква функција ради веома непредвидиво и понекад чини потпуну глупост на сложеним табелама. Али можете покушати.
У програму Екцел 2007 и новијим, све ове радости су на картици Датум (Датум) у групи структура (Оквир):
Метод 3. Сакривање означених редова/колона помоћу макроа
Овај метод је можда најсвестранији. Хајде да додамо празан ред и празну колону на почетак нашег листа и означимо било којом иконицом оне редове и колоне које желимо да сакријемо:
Сада отворимо Висуал Басиц Едитор (АЛТ + ФКСНУМКС), убаците нови празан модул у нашу књигу (мени Инсерт – Модул) и копирајте текст два једноставна макроа тамо:
Суб Хиде() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе 'Онемогући ажурирање екрана да би се убрзало за сваку ћелију у АцтивеСхеет.УседРанге.Ровс(1).Целлс 'Итерирај преко свих ћелија у првом реду Ако целл.Валуе = "к " Затим ћелија .ЕнтиреЦолумн.Хидден = Труе 'ако је у ћелији к - сакрити следећу колону за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(1).Ћелије 'пролазе кроз све ћелије прве колоне Ако је ћелија.Валуе = "к" Затим целл.ЕнтиреРов.Хидден = Тачно 'ако је у ћелији к - сакрити ред Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб Суб Схов() Цолумнс.Хидден = Фалсе 'откажи све сакривање редова и колона Ровс.Хидден = Фалсе Енд Суб
Као што можете претпоставити, макро Сакрити скрива и макро шоу – Приказује уназад означене редове и колоне. По жељи, макроима се могу доделити пречице (Алт + ФКСНУМКС и дугме parametri) или креирајте дугмад директно на листу да бисте их покренули са картице Програмер – Уметање – Дугме (Програмер — Убаци — Дугме).
Метод 4. Сакривање редова/колона датом бојом
Рецимо да у горњем примеру, ми, напротив, желимо да сакријемо укупне вредности, односно љубичасте и црне редове и жуте и зелене колоне. Тада ће наш претходни макро морати мало да се измени додавањем, уместо провере присуства „к“, провере да ли се боја попуне подудара са насумично одабраним ћелијама узорка:
Суб ХидеБиЦолор() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе за сваку ћелију у АцтивеСхеет.УседРанге.Ровс(2).Целлс Иф целл.Интериор.Цолор = Ранге("Ф2").Интериор.Цолор Онда целл.ЕнтиреЦолумн.Хидден = Тачно ако целл.Интериор.Цолор = Ранге("К2").Интериор.Цолор Затим целл.ЕнтиреЦолумн.Хидден = Тачно следеће за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(2).Целлс Иф целл.Интериор.Цолор = Ранге ("Д6").Интериор.Цолор Затим целл.ЕнтиреРов.Хидден = Труе Ако целл.Интериор.Цолор = Ранге("Б11").Интериор.Цолор Затим целл.ЕнтиреРов.Хидден = Труе Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб
Међутим, не смемо заборавити на једно упозорење: овај макро функционише само ако су ћелије изворне табеле попуњене бојом ручно, а не коришћењем условног форматирања (ово је ограничење својства Интериор.Цолор). Тако, на пример, ако сте аутоматски истакли све понуде у табели где је број мањи од 10 коришћењем условног форматирања:
… а желите да их сакријете једним покретом, тада ће претходни макро морати да буде „завршен“. Ако имате Екцел 2010-2013, онда можете да изађете користећи уместо имовине Унутрашњост имовина ДисплаиФормат.Интериор, који даје боју ћелије, без обзира на то како је постављена. Макро за сакривање плавих линија тада може изгледати овако:
Суб ХидеБиЦондитионалФорматтингЦолор() Дим целл Ас Ранге Апплицатион.СцреенУпдатинг = Фалсе за сваку ћелију у АцтивеСхеет.УседРанге.Цолумнс(1).Целлс Иф целл.ДисплаиФормат.Интериор.Цолор = Ранге("Г2").ДисплаиФормат.Интериор.Цолор.ДисплаиФормат.Интериор.Цолор. .ЕнтиреРов.Хидден = Труе Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб
Ћелија Г2 је узета као узорак за поређење боја. Нажалост имовина ДисплаиФормат појавио се у Екцел-у тек почевши од верзије 2010, тако да ако имате Екцел 2007 или старији, мораћете да смислите друге начине.
- Шта је макро, где убацити код макроа, како их користити
- Аутоматско груписање у вишеслојним листама