Pagtatago/pagpapakita ng mga hindi kinakailangang row at column

Pagbubuo ng problema

Ipagpalagay na mayroon tayong isang mesa na kailangan nating "sayawin" araw-araw:

 

To whom the table seems small – mentally multiply it twenty times by area, adding a couple more blocks and two dozen large cities. 

Ang gawain ay pansamantalang alisin mula sa mga hilera at column sa screen na kasalukuyang hindi kailangan para sa trabaho, ibig sabihin, 

  • itago ang mga detalye ayon sa buwan, nag-iiwan lamang ng quarters
  • itago ang mga kabuuan ayon sa mga buwan at quarter, na naiwan lamang ang kabuuan sa loob ng kalahating taon
  • itago ang mga lungsod na hindi kailangan sa ngayon (nagtatrabaho ako sa Moscow - bakit ko makikita ang St. Petersburg?), atbp.

Sa totoong buhay, mayroong isang dagat ng mga halimbawa ng gayong mga talahanayan.

Paraan 1: Pagtatago ng mga row at column

Ang pamamaraan, sa totoo lang, ay primitive at hindi masyadong maginhawa, ngunit dalawang salita ang masasabi tungkol dito. Maaaring itago ang anumang napiling row o column sa isang sheet sa pamamagitan ng pag-right click sa column o row header at pagpili sa command mula sa context menu Itago (Tago):

 

Para sa reverse display, piliin ang mga katabing row / column at, sa pamamagitan ng pag-right click, pumili mula sa menu, ayon sa pagkakabanggit, magpakita (Itago).

Ang problema ay kailangan mong harapin ang bawat column at row nang paisa-isa, na hindi maginhawa.

Paraan 2. Pagpapangkat

Kung pipili ka ng maraming row o column at pagkatapos ay pipili mula sa menu Data – Pangkat at Istraktura – Pangkat (Data — Pangkat at Balangkas — Pangkat), pagkatapos ay ilalagay sila sa isang parisukat na bracket (naka-grupo). Bukod dito, ang mga pangkat ay maaaring i-nested sa isa't isa (hanggang 8 nesting level ang pinapayagan):

Ang isang mas maginhawa at mas mabilis na paraan ay ang paggamit ng keyboard shortcut upang pagpangkatin ang mga paunang napiling row o column. Alt+Shift+Right Arrow, at para sa pag-ungroup Alt+Shift+Pakaliwang Arrow, Ayon sa pagkakabanggit.

Ang pamamaraang ito ng pagtatago ng hindi kinakailangang data ay mas maginhawa – maaari mong i-click ang pindutan gamit ang “+"O"-“, o sa mga button na may numerical grouping level sa kaliwang sulok sa itaas ng sheet – pagkatapos ay ibabagsak o papalawakin nang sabay-sabay ang lahat ng pangkat ng gustong antas.

Gayundin, kung ang iyong talahanayan ay naglalaman ng mga row o column ng buod na may function ng pagsusuma ng mga kalapit na cell, iyon ay, isang pagkakataon (hindi 100% totoo) na Excel lilikha siya ng lahat ng kinakailangang grupo sa talahanayan na may isang paggalaw - sa pamamagitan ng menu Data – Pangkat at Istraktura – Lumikha ng Istraktura (Data — Pangkat at Balangkas — Lumikha ng Balangkas). Sa kasamaang palad, ang ganitong function ay gumagana nang hindi mahuhulaan at kung minsan ay kumpletong walang kapararakan sa mga kumplikadong talahanayan. Ngunit maaari mong subukan.

Sa Excel 2007 at mas bago, lahat ng kagalakan na ito ay nasa tab data (Petsa) sa pangkat   kaayusan (Balangkas):

Paraan 3. Pagtatago ng mga markadong row/column na may macro

Ang pamamaraang ito ay marahil ang pinaka maraming nalalaman. Magdagdag tayo ng isang walang laman na row at isang walang laman na column sa simula ng aming sheet at markahan ng anumang icon ang mga row at column na gusto naming itago:

Ngayon buksan natin ang Visual Basic Editor (ALT + F11), magpasok ng bagong walang laman na module sa aming aklat (menu Ipasok – Module) at kopyahin ang teksto ng dalawang simpleng macro doon:

Sub Hide() Dim cell As Range Application.ScreenUpdating = False 'Huwag paganahin ang pag-update ng screen para mapabilis Para sa Bawat cell Sa ActiveSheet.UsedRange.Rows(1).Cells 'Iterate sa lahat ng cell sa unang row If cell.Value = "x " Pagkatapos cell .EntireColumn.Hidden = True 'kung sa cell x - itago ang column Susunod Para sa Bawat cell Sa ActiveSheet.UsedRange.Columns(1). Ang mga cell ay dumaan sa lahat ng cell ng unang column Kung cell.Value = "x" Pagkatapos cell.EntireRow.Hidden = True 'if in cell x - itago ang row Next Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'kanselahin ang lahat ng nagtatago na row at column Rows.Hidden = False End Sub  

Tulad ng maaari mong hulaan, ang macro Itago hides at ang macro palabas – Ipinapakita ang likod na may label na mga row at column. Kung ninanais, ang mga macro ay maaaring magtalaga ng mga hotkey (Alt + F8 at pindutan parameter), o lumikha ng mga pindutan nang direkta sa sheet upang ilunsad ang mga ito mula sa tab Developer – Ipasok – Button (Developer — Insert — Button).

Paraan 4. Pagtatago ng mga row/column na may ibinigay na kulay

Sabihin natin na sa halimbawa sa itaas, kami, sa kabaligtaran, ay nais na itago ang mga kabuuan, ie purple at itim na mga hilera at dilaw at berdeng mga haligi. Pagkatapos ang aming nakaraang macro ay kailangang bahagyang mabago sa pamamagitan ng pagdaragdag, sa halip na suriin ang pagkakaroon ng "x", isang tseke para sa pagtutugma ng kulay ng fill sa mga random na napiling sample na mga cell:

Sub HideByColor() Dim cell As Range Application.ScreenUpdating = False Para sa Bawat cell Sa 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 Para sa Bawat cell Sa ActiveSheet.UsedRange.Columns(2).Cells Kung cell.Interior.Color = Range ("D6").Interior.Color Then cell.EntireRow.Hidden = True Kung cell.Interior.Color = Range("B11").Interior.Color Then cell.EntireRow.Hidden = True Next Application.ScreenUpdating = True End Sub  

Gayunpaman, hindi natin dapat kalimutan ang tungkol sa isang caveat: gumagana lang ang macro na ito kung ang mga cell ng source table ay napuno ng kulay nang manu-mano, at hindi gumagamit ng conditional formatting (ito ay isang limitasyon ng Interior.Color property). Kaya, halimbawa, kung awtomatiko mong na-highlight ang lahat ng deal sa iyong talahanayan kung saan ang bilang ay mas mababa sa 10 gamit ang conditional formatting:

Pagtatago/pagpapakita ng mga hindi kinakailangang row at column

… at gusto mong itago ang mga ito sa isang galaw, pagkatapos ay kailangang "tapos na" ang nakaraang macro. Kung mayroon kang Excel 2010-2013, maaari kang lumabas gamit sa halip na ang ari-arian Panloob ari-arian DisplayFormat.Interior, na naglalabas ng kulay ng cell, hindi alintana kung paano ito itinakda. Ang macro upang itago ang mga asul na linya ay maaaring magmukhang ganito:

Sub HideByConditionalFormattingColor() Dim cell As Range Application.ScreenUpdating = False Para sa Bawat cell Sa 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  

Ang cell G2 ay kinuha bilang sample para sa paghahambing ng kulay. Sa kasamaang palad ang ari-arian DisplayFormat lumitaw lamang sa Excel simula sa 2010 na bersyon, kaya kung mayroon kang Excel 2007 o mas matanda pa, kailangan mong gumawa ng ibang mga paraan.

  • Ano ang isang macro, kung saan ilalagay ang macro code, kung paano gamitin ang mga ito
  • Awtomatikong pagpapangkat sa mga listahan ng multilevel

 

Mag-iwan ng Sagot