malypodnikatel
A co tak urobit nieco ako ten tvoj check box, alebo double click na nejaku bunku a po tom double clicku sa automaticky skryje urcity pocet riadkov. Tym padom by ti to nemalo vytlacit a mozes preskakovat.
Súhlasím a dopľňam:
Ak nebude zošit zamknutý a nie je požiadavka na makro, najjednoduchší spôsob je urobiť tzv. zoskupenie dát (Data-Údaje / Group and Outline - Zoskupiť a sprehľadniť).
Môže ísť i o riadky i o stĺpce, i viacúroňovo (stromová štruktúra).
Ak ide o spracovanie zoskupení kódom (VBA), tak pripájam zopár tipov:
1) Skryť všetky zoskupenia (úroveň 1):
riadky:
ActiveSheet.Outline.ShowLevels RowLevels:=1
stlpce:
ActiveSheet.Outline.ShowLevels ColumnLevels:=1
2) Ak programovo skrývaš riadky, v kombinácii so zoskupeniami, je lepšie nastaviť výšku "neviditeľného" riadku na min. možnú veľkosť, ako ho skryť:
Rows("10:15").RowHeight = 0.1
3) Zoskupenia (skrývať/zobraziť detaily) možno v iba v
nezamknutom zošite.
Ak by bol zamknutý, treba do funkie zakomponovať zamknutie / odomknuie zošita:
Sheets(xShtName).Protect Password:="xxx" (...prípadne ďalšie parametre)
Sheets(xShtName).Unprotect Password:="xxx"
Výsledný efekt si môžeš pozriet v priloženom príklade, na liste "
Kalkulacia".
V záhlaví cez CheckBoxy možeš skrývať jednotlivé sekcie
(verzia bez kníh dokladov a číselníkov, plnú si môžeš stiahnuť z moje stránky).
Palo