< návrat zpět

MS Excel


Téma: zobrazování řádku zaškrtávacím políčkem rss

Zaslal/a 1.9.2012 16:57

Dobrý den, šlo by ovládat zobrazení a skrytí řádku zaškrtávacím políčkem? A jedním zaškrtávacím políčkem ovládat více zaškrtávacích políček? Děkuji za snahu

Příloha: rar9390_zaskrtpolicko.rar (22kB, staženo 22x)
stop Uzamčeno - nelze přidávat nové příspěvky.

#009400
avatar
Ano, lze to takto udělat, ale je nutné znát VBA...

Nejdříve je nutné zvolit jiný typ zatržítek. Na kartě Vývojář/Vložit --> Ovládací prvky ActiveX. Na první pohled je to stejné, ale jsou zde určité odlišnosti. Zatržítka (CheckBox) je dobré si nějak vhodně pojmenovat, přinejmenším je vkládat pěkně postupně, aby čísla navazovala :).

Pro ovládaní ostatních zatržítek bych pak použil něco jiného než opět zatržítko. Je více možností, ale nejjednodušší bude tam asi vložit malinké (třeba barevné) příkazové tlačítko (CommandButton).

A pak už stačí jenom ten kód VBA .-).

Př. u zatržítek:
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
Sheets("rok").Rows(14).Hidden = False
Else
Sheets("rok").Rows(14).Hidden = True
End If
End Sub
Př. u příkazového tlačítka:
Private Sub CommandButton1_Click()
CheckBox1.Value = True
'... až
CheckBox12.Value = True
End Sub
Princip bude v celém listu stejný, ale jak jsem psal, je nutné znát VBA...
P.

Příklad, viz příloha:
Příloha: zip9400_zaskrtpolicko.zip (38kB, staženo 25x)
citovat
#009404
Jeza.m
Není až tak nutné používat jiný typ tlačítek, naopak ty použité mě vyhovují :-).
Pojmenování je důležité v mém případě je pojmenování:
např. L12_M1 znamená to že jde o zaškrtávátko na 12. řádku v měsíci 1.
Tento název se dále v kódu rozsekne v podtržítku a ořízne o první znak, čím získám číslo řádku a sloupce s nimiž pracuji.
V tomto případě není třeba psát každému zaškrtávátku vlastní kód, ale podle názvu zaškrtávátka na které bylo kliknuto se makro zpracuje.

Jen bych doporučil rozšířit řádky se zaškrtávátky, nyní se překrývají a občas je umění se trefit :-).

M@
Příloha: zip9404_zaskrtpolicko.zip (26kB, staženo 25x)
citovat
#009413
avatar
Řešení od Jeza.m se líbí víc a funguje dobře, to určitě využiji, děkuji moc! Zaškrtávací políčka se nastaví na začátku roku a budou se používat jen příležitostně, když jeden zaměstnanec skončí a druhý za něho nastoupí a stejně to budu nastavovat sám, takže si poradím s rozšířením sloupce nebo zvětšením zobrazení apod. Díky 5citovat
#009415
avatar
Vyzkoušel jsem soubor v praxi a zjistil jsem, že budu potřebovat u každé osoby ještě pomocný řádek, tedy že by se měly skrývat s jednou osobou najednou řádky dva. Řádky jsem přidal a ohraničil, jak asi budou vypadat. Bude to možné poupravit, prosím? Děkuji
Příloha: rar9415_zaskrtpolicko.rar (21kB, staženo 27x)
citovat
#009417
Jeza.m
To zvládneš :-)
1) Všude kde je rozmezí
For i = 2 to 200
to rozšiř třeba do 400
2) Všude kde je nastaveno skrývání řádku nastav aby se skrývaly řádky 2. Jinými slovy nahraď vše kde je
Sheets("rok").Rows(rd)
za
Sheets("rok").Rows(rd & ":" & rd + 1)

M@citovat
#009420
avatar
Zvládnuto - jsi 1! Děkuji 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje