jof005
18.08.09,10:48
Zdravím... mám jeden problém a F1 mi akosi nepomohlo... potrebujem vytvoriť niečo ako formulár pre tlač z rovnakou hlavičkou a viacerimy CheckBox políčkamy. Podla toho ktoré by bolo zaškrtnuté to by sa vytlačilo a z možnosťou zaškrtnutia viacerích polí. pričom by samotný formulár ostal zamknutý bez možnosti úprav a samotný text bol mimo hlavnej strany(v druhej záložke napr.) Samotná tlač by bola buď na klávesovú skratku ako makro alebo na tlačítko. a samotné CheckBoxi by sa nevytlačily. cele to šlo celkom dobre aj z makramy ale len v prípade že som potreboval tlačiť napríklad 4tú možnosť a vše pred ňou ale ja potrebujem aj preskakovať. A asi mám až moc rád slovíčko samotný... to bude tým teplom :) Viem že je to dosť blbo napísané ale dúfam že niekto poradí. Vopred vďaka... :)
malypodnikatel
02.03.10,15:44
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.
PaloPa
03.03.10,13:16
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
malypodnikatel
03.03.10,15:15
kazdy zosit mozes odblokovat:

sheet1.unprotect

resp zablokovat ho tak, ze pristup na neho ma len macro

sheet1.protect userinterfaceonly:=True

Tym padom vsetko co spravis macrom je dovolene aj prepisovat bunky, ale to co chce spravit uzivatel nebude mozne spravit.

Vsetko sa to potom da jednoducho odblokovat tym prvym prikazom co som poslal.

Ak napr chces zablokovat alebo odblokovat vsetky zosity naraz potom sa hodi toto macro:

sub ZablokujVsetkyZosityvDokumente()
Dim wSheet as Worksheet

For each wSheet in Worksheets
wSheet.Protect

next wSheet

end sub


cast wSheet.Protect mozes nahradit za .Unprotect, alebo .Protect userinterfaceonly:=True atd