Қажет емес жолдар мен бағандарды жасыру/көрсету

Мәселені тұжырымдау

Бізде күнделікті «билеуге» тура келетін осындай үстел бар делік:

 

Кімге үстел кішкентай болып көрінеді - оны алаңға жиырма есе көбейтіп, тағы бірнеше блок пен екі ондаған ірі қалаларды қосыңыз. 

Тапсырма қазіргі уақытта жұмыс үшін қажет емес жолдар мен бағандарды экраннан уақытша алып тастау, яғни, 

  • мәліметтерді ай бойынша жасырып, тоқсандарды ғана қалдырыңыз
  • қорытындыларды айлар мен тоқсандар бойынша жасырып, жарты жылға ғана қорытынды қалдырыңыз
  • қазіргі уақытта қажет емес қалаларды жасыру (мен Мәскеуде жұмыс істеймін – Санкт-Петербургті неге көруім керек?), т.б.

Нақты өмірде мұндай кестелердің көптеген мысалдары бар.

1-әдіс: жолдар мен бағандарды жасыру

Әдіс, шынын айтқанда, қарабайыр және өте ыңғайлы емес, бірақ бұл туралы екі сөзді айтуға болады. Парақтағы кез келген бұрын таңдалған жолдарды немесе бағандарды бағанды ​​немесе жол тақырыбын тінтуірдің оң жақ түймешігімен басу және контекстік мәзірден пәрменді таңдау арқылы жасыруға болады. жасыру (Жасыру):

 

Кері дисплей үшін іргелес жолдарды/бағандарды таңдап, тінтуірдің оң жақ түймешігімен басу арқылы сәйкесінше мәзірден таңдаңыз, көрсету (көрсету).

Мәселе мынада, әр баған мен жолды жеке шешу керек, бұл ыңғайсыз.

2-әдіс. Топтастыру

Бірнеше жолды немесе бағанды ​​таңдап, мәзірден таңдаңыз Деректер – Топ және Құрылым – Топ (Деректер — Топ және Контур — Топ), содан кейін олар төртбұрышты жақшаға алынады (топтастырылған). Сонымен қатар, топтар бір-біріне кірістірілуі мүмкін (8 ұя салу деңгейіне дейін рұқсат етіледі):

Неғұрлым ыңғайлы және жылдамырақ жол - алдын ала таңдалған жолдарды немесе бағандарды топтастыру үшін пернелер тіркесімін пайдалану. Alt+Shift+оң жақ көрсеткі, және топтан шығару үшін Alt+Shift+сол жақ көрсеткі, тиісінше.

Қажетсіз деректерді жасырудың бұл әдісі әлдеқайда ыңғайлы - сіз « түймешігін басыңыз+«Немесе»-«, немесе парақтың жоғарғы сол жақ бұрышындағы сандық топтау деңгейі бар түймелерде – содан кейін қажетті деңгейдің барлық топтары бірден жиырылады немесе кеңейтіледі.

Сондай-ақ, егер кестеңізде көрші ұяшықтарды қосу функциясы бар жиынтық жолдар немесе бағандар болса, яғни Excel мүмкіндігі (100% дұрыс емес). ол барлық қажетті топтарды жасайды кестеде бір қозғалыспен – мәзір арқылы Деректер – Топ және Құрылым – Құрылымды құру (Деректер — Топ және Құрылым — Контур құру). Өкінішке орай, мұндай функция өте күтпеген жұмыс істейді және кейде күрделі кестелерде толық нонсенс жасайды. Бірақ тырысуға болады.

Excel 2007 және одан кейінгі нұсқаларында бұл қуаныштардың барлығы қойындыда мәліметтер (Күні) топта   Құрылым (Нұсқа):

3-әдіс. Белгіленген жолдарды/бағандарды макроспен жасыру

Бұл әдіс, мүмкін, ең әмбебап. Парақтың басына бос жол мен бос баған қосып, жасырғымыз келетін жолдар мен бағандарды кез келген белгішемен белгілейік:

Енді Visual Basic редакторын ашайық (ALT + F11), кітабымызға жаңа бос модульді салыңыз (мәзір Кірістіру – модуль) және екі қарапайым макрос мәтінін сол жерге көшіріңіз:

Sub Hide() күңгірт ұяшықты диапазон ретінде қолдану.ScreenUpdating = False ' ActiveSheet.UsedRange.Rows(1) ұяшықтарындағы әрбір ұяшықты жылдамдату үшін экранды жаңартуды өшіру 'Бірінші жолдағы барлық ұяшықтарды қайталау Егер cell.Value = "x болса. " Содан кейін ұяшық .EntireColumn.Hidden = True 'егер x ұяшығында болса - бағанды ​​жасыру Келесі Әр ұяшық үшін ActiveSheet.UsedRange.Columns(1).Ұяшықтар бірінші бағанның барлық ұяшықтары арқылы өтеді If cell.Value = "x" Содан кейін cell.EntireRow.Hidden = True 'егер x ұяшығында болса - жолды жасыру Келесі Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'барлық жасырылған жолдар мен бағандарды жою Rows.Hidden = False End Sub  

Сіз болжағандай, макрос жасыру жасыру және макрос көрсету – Белгіленген жолдар мен бағандарды көрсетеді. Қажет болса, макростарға жылдам пернелер тағайындалуы мүмкін (Alt + F8 және батырма Параметрлер) немесе түймелерді қойындыдан іске қосу үшін тікелей парақта жасаңыз Әзірлеуші ​​– Кірістіру – Түйме (Әзірлеуші ​​— Кірістіру — Түйме).

4-әдіс. Берілген түспен жолдарды/бағандарды жасыру

Жоғарыдағы мысалда біз, керісінше, қорытындыларды, яғни күлгін және қара жолдарды және сары және жасыл бағандарды жасырғымыз келеді делік. Содан кейін біздің алдыңғы макросты «x» бар-жоғын тексерудің орнына кездейсоқ таңдалған үлгі ұяшықтарымен толтыру түсін сәйкестендіруге тексеруді қосу арқылы сәл өзгертуге тура келеді:

Sub HideByColor() Диапазон қолданбасы ретінде күңгірт ұяшық.ScreenUpdating = False ActiveSheet.UsedRange.Rows(2) ішіндегі әрбір ұяшық үшін). = True If cell.Interior.Color = Range("K2").Interior.Color Содан кейін cell.EntireColumn.Hidden = True Next ActiveSheet.UsedRange.Columns(2) ішіндегі әрбір ұяшық үшін.Cells If cell.Interior.Color = Range («D2»).Interior.Color Содан кейін ұяшық.EntireRow.Hidden = True If cell.Interior.Color = Range («B6»).Interior.Color Содан кейін cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub.  

Дегенмен, біз бір ескертуді ұмытпауымыз керек: бұл макрос бастапқы кестенің ұяшықтары түспен қолмен толтырылған және шартты пішімдеуді пайдаланбаған жағдайда ғана жұмыс істейді (бұл Interior.Color сипатының шектеуі). Мысалы, шартты пішімдеуді пайдаланып, саны 10-нан аз болатын кестедегі барлық мәмілелерді автоматты түрде бөлектесеңіз:

Қажет емес жолдар мен бағандарды жасыру/көрсету

... және сіз оларды бір қозғалыста жасырғыңыз келсе, алдыңғы макросты «аяқтауға» тура келеді. Егер сізде Excel 2010-2013 болса, мүліктің орнына пайдалану арқылы шығуға болады Интерьер меншік DisplayFormat.Интерьер, ол қалай орнатылғанына қарамастан ұяшықтың түсін шығарады. Көк жолдарды жасыратын макрос келесідей болуы мүмкін:

Sub HideByConditionalFormattingColor() Диапазон қолданбасы ретінде күңгірт ұяшық.ScreenUpdating = False ActiveSheet.UsedRange.Columns(1) ішіндегі әрбір ұяшық үшін). .EntireRow.Hidden = Келесі True Application.ScreenUpdating = True End Sub  

Түстерді салыстыру үшін үлгі ретінде G2 ұяшығы алынады. Өкінішке орай, мүлік Дисплей пішімі Excel бағдарламасында тек 2010 нұсқасынан бастап пайда болды, сондықтан сізде Excel 2007 немесе одан жоғары нұсқасы болса, басқа жолдарды табуға тура келеді.

  • Макрос дегеніміз не, макрокодты қайда енгізу керек, оларды қалай қолдану керек
  • Көп деңгейлі тізімдерде автоматты топтау

 

пікір қалдыру