Onnéideg Reihen a Kolonnen verstoppen / weisen

Formuléierung vum Problem

Ugeholl mir hunn esou en Dësch mat deem mir all Dag "danzen" mussen:

 

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

D'Aufgab ass d'Zeilen a Spalten temporär aus dem Bildschierm ze läschen, déi am Moment fir d'Aarbecht net néideg sinn, d.h. 

  • verstoppen Detailer vum Mount, verloosse just Véierel
  • verstoppen Total vun Méint a Véierel, loosst nëmmen den Total fir en halleft Joer
  • verstoppen Stied déi am Moment onnéideg sinn (Ech schaffen zu Moskau - firwat soll ech St. Petersburg gesinn?), etc.

Am richtege Liewen ginn et e Mier vu Beispiller vun esou Dëscher.

Method 1: Reihen a Kolonnen verstoppen

D'Method, éierlech gesot, ass primitiv an net ganz bequem, awer zwee Wierder kënnen doriwwer gesot ginn. All virdru gewielte Reihen oder Kolonnen op engem Blat kënne verstoppt ginn andeems Dir op d'Kolonn oder d'Zeilheader klickt an de Kommando aus dem Kontextmenü auswielen verstoppen (Verstoppen):

 

Fir ëmgedréint Affichage, wielt ugrenzend Zeilen / Kolonnen a wielt, andeems Dir riets klickt, aus dem Menü, respektiv, affichéieren (Verstoppen).

De Problem ass datt Dir mat all Kolonn an Zeil individuell ëmzegoen musst, wat onbequem ass.

Method 2. Gruppéierung

Wann Dir verschidde Reihen oder Kolonnen auswielt an dann aus dem Menü wielt Daten - Grupp a Struktur - Grupp (Daten - Grupp a Kontur - Grupp), da gi se an enger Quadratklammer (gruppéiert) zougemaach. Ausserdeem kënnen d'Gruppen een an en anert nestéiert ginn (bis zu 8 Nistniveauen sinn erlaabt):

E méi prakteschen a méi séiere Wee ass eng Tastatur Ofkiirzung ze benotzen fir virausgewielt Reihen oder Kolonnen ze gruppéieren. Alt + Shift + Riets Pfeil, a fir d'Ofgruppéierung Alt + Shift + lénks Pfeilrespektéiert.

Dës Method fir onnéideg Donnéeën ze verstoppen ass vill méi praktesch - Dir kënnt entweder op de Knäppchen klickt mat der "+"Oder"-", oder op de Knäppercher mat engem numeresche Gruppéierungsniveau an der ieweschter lénkser Ecke vum Blat - da ginn all Gruppe vum gewënschten Niveau gläichzäiteg zesummegeklappt oder erweidert.

och, wann Ären Dësch Resumé Reihen oder Kolonnen enthält mat der Funktioun vun Nopeschlänner Zellen summéieren, dat ass, eng Chance (net 100% wouer) dass Excel hie wäert all déi néideg Gruppen schafen am Dësch mat enger Bewegung - duerch de Menü Daten - Grupp a Struktur - Erstellt Struktur (Daten - Grupp a Kontur - Outline erstellen). Leider funktionéiert esou eng Funktioun ganz onberechenbar a mécht heiansdo komplett Nonsens op komplexen Dëscher. Awer Dir kënnt probéieren.

An Excel 2007 a méi nei sinn all dës Freed op der Tab Daten (Datum) am Grupp   Struktur (Kontur):

Method 3. Verstoppt markéiert Zeile / Kolonnen mat engem Macro

Dës Method ass vläicht déi villsäitegst. Loosst eis eng eidel Zeil an eng eidel Kolonn un den Ufank vun eisem Blat addéieren a markéieren mat all Ikon déi Reihen a Kolonnen déi mir wëllen verstoppen:

Loosst eis de Visual Basic Editor opmaachen (ALT + F11), en neien eidele Modul an eist Buch (Menü Insert - Modul) a kopéiert den Text vun zwee einfache Makroen dohinner:

Sub Hide() Dim cell As Range Application.ScreenUpdating = False 'Desaktivéiere vum Écranaktualiséierung fir ze beschleunegen Fir All Zell An ActiveSheet.UsedRange.Rows(1).Zellen 'Iteréieren iwwer all Zellen an der éischter Zeil If cell.Value = "x " Dann Zell .EntireColumn.Hidden = True 'wann an der Zell x - verstoppen Kolonn Next Fir All Zell An ActiveSheet.UsedRange.Columns(1). Zellen 'goen duerch all Zellen vun der éischter Kolonn Wann cell.Value = "x" Dann cell.EntireRow.Hidden = True 'wann an der Zell x - verstoppt d'Zeil Next Application.ScreenUpdating = True End Sub Sub Show() Columns.Hidden = False 'all verstoppte Reihen a Kolonnen annuléieren Rows.Hidden = False End Sub  

Wéi Dir vläicht roden, de Macro verstoppen verstoppt an de Macro weisen - Weist zréck markéiert Reihen a Kolonnen. Wann Dir wëllt, kënnen Makroen Hotkeys zougewisen ginn (Alt + F8 a Knäppchen Parameteren), oder erstellt Knäppercher direkt op de Blat fir se vun der Tab ze starten Entwéckler - Insert - Knäppchen (Entwéckler - Insert - Button).

Method 4. Zeile / Kolonnen mat enger bestëmmter Faarf verstoppen

Loosst eis soen datt mir am Géigendeel, am Géigendeel, d'Gesamtzuele wëllen verstoppen, also purpurroude a schwaarze Reihen a giel a gréng Kolonnen. Da muss eise fréiere Makro liicht geännert ginn andeems Dir e Scheck fir d'Füllfaarf mat zoufälleg ausgewielte Probezellen derbäi ze setzen, anstatt d'Präsenz vun "x" ze kontrolléieren:

Sub HideByColor() Dim Zell As Range Application.ScreenUpdating = False For All Zell In 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  

Mir däerfen awer net iwwer een Opgepasst vergiessen: Dëse Makro funktionnéiert nëmme wann d'Zellen vun der Quelltabel manuell mat Faarf gefëllt goufen, an net mat bedingte Formatéierung (dëst ass eng Begrenzung vun der Interior.Color Property). Also, zum Beispill, wann Dir automatesch all Dealer an Ärer Tabell markéiert hutt, wou d'Zuel manner wéi 10 ass, andeems Dir bedingt Formatéierung benotzt:

Onnéideg Reihen a Kolonnen verstoppen / weisen

... an Dir wëllt se an enger Bewegung verstoppen, da muss de virege Macro "fäerdeg" sinn. Wann Dir Excel 2010-2013 hutt, da kënnt Dir erausgoen amplaz vun der Immobilie bannen Propriétéit DisplayFormat.Interior, déi d'Faarf vun der Zell erausginn, egal wéi se agestallt gouf. De Makro fir déi blo Linnen ze verstoppen kéint dann esou ausgesinn:

Sub HideByConditionalFormattingColor() Dim Zelle As Range Application.ScreenUpdating = False For All Cell In 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  

Zell G2 gëtt als Probe fir Faarfverglach geholl. Leider d'Propriétéit DisplayFormat erschéngt an Excel nëmmen ab der 2010 Versioun, also wann Dir Excel 2007 oder méi al hutt, musst Dir aner Weeër kommen.

  • Wat ass e Makro, wou ee Makrocode asetzt, wéi se se benotzen
  • Automatesch Gruppéierung a Multilevel Lëschten

 

Hannerlooss eng Äntwert