< návrat zpět

MS Excel


Téma: Automatické skrytie prázdnych riadkov rss

Zaslal/a 6.8.2018 20:34

Zdravím všetkých.
Poprosím o pomoc s vyriešením problému, s ktorým si neviem rady - vytvorenie makra na skrytie prázdnych riadkov.
V riadku 2 a stĺpci B,C,D,E tabuľky je zlúčená bunka ( berie ju ako B2, v ďalších riadkoch B3,B4,B5... ), do ktorých sa zadávajú údaje ( popis práce ). Mám 124 riadkov, z ktorých každé 4 predstavujú 1 deň. Čiže je to vlastne kalendár, ktorý má na každý deň 4 riadky. Po naplnení údajov do zlúčených buniek v stĺpci B,C,D,E vznikne situácia, že napr. 1 deň nie je zaznačená žiadna práca, ďalší deň 1 práca, ďalší deň 2 práce, ďalší deň 4 práce a ďalší 3 práce atď. Bunky, v ktorých nie je zaznačená žiadna práca zostanú prázdne. Potrebujem spraviť to, aby po aktivácii nejakého ovládacieho prvku formulára ( napr. tlačítka s priradeným makrom ) automaticky skrylo všetky riadky, v ktorých sú prázdne zlúčené bunky okrem vždy prvých v každom dni, hoci by boli prázdne. Čiže po skrytí mi zostane zobrazený kalendár so všetkými dňami a v každom dni zostane zobrazený min. 1. riadok, hoci bude prázdny + všetky riadky, v ktorých je údaj.
V ďalšom stĺpci (F) je čas začatia práce, v ďalšom (G) čas ukončenia.
Spätné odkrytie tlačítkom som už zvládol.
Ďakujem

Zaslat odpověď >

Strana:  « předchozí  1 2
#041092
avatar
Super. Funguje to. Ďakujem.
Idem sa to učiť, aby som to dokázal spraviť aj sám :-)citovat
#041097
elninoslov
No dobre, aby ste nepovedal, že máte málo matrošu na štúdium, tak aby som Vám ešte viacej zamotal hlavu, pridal som ďalšie inšpiračné možnosti:

Pokus1 - Pomocou metódy Evaluate získate v jednom kroku vyhodnotenie pre každý riadok, či sa má skryť, alebo nie. Potom ale musí znovu nastúpiť cyklus a tieto oblasti spojiť do jednej, ktorá sa skryje. Ten, kto bude ten vzorec ale upravovať, ten sa z toho radovať nebude :)

Pokus2 - Defakto jednoriadkový kód. To okolo je potrebné pre každú metódu, lebo odkryť ich najskôr musíte vždy, aby boli uvedené riadky do východzieho stavu, a Application.ScreenUpdating je len kvôli prebliknutiu. Inak je to docela brutálne jednoriadkové riešenie, pri ktorom sa budú mnohí za hlavu chytať. 1. problém, ak nastane, že nieje čo skryť, sa dá ľahko obísť pridaním On Error Resume Next. Ale 2. problém je, že výsledná dlhočizná adresa všetkých buniek na skrývanie nesmie prekročiť 255 znakov. Čo u Vás prekročí. Je to obmedzenie metódy Range. Takže toto je u Vás nepoužiteľné, uvádzam len ako pikošku :)

Pokus3 - Opäť jednoriadkové riešenie, ktoré ale spolieha na pomocný (kľudne skrytý) stĺpec. Teraz je to stĺpec AM, v ktorom sú vzorce, ktoré podľa podmienok vyvolajú chybu na riadku, ktorý treba skryť. SpecialCells potom tieto bunky dokáže naraz identifikovať. Problém môže nastať, vlastne iba vtedy, ak nebude nič na skrývanie. A preto je tam On Error. Táto možnosť je pre Vás asi najvhodnejšia pre implementáciu a pochopenie.
Příloha: zip41097_vykaz-dochadzky-priklad.zip (116kB, staženo 34x)
citovat
#041153
avatar
Vďaka. Cením si prístup.
Ale kým sa to naučím :-), môžem ešte poprosiť o pomoc s rozšírením skrytia riadkov o pár ďalších, aby pre prípad potreby vytlačenia dokumentu bol rozsah tlače čo najmenší? ( nové riadky na skrytie som popísal v hárku ODKRYTÉ RIADKY do stĺpca AM a označil zelenou )
Pred tým som na to žiaľ nemyslel.
Příloha: zip41153_vykaz-dochadzky-priklad-1.zip (116kB, staženo 22x)
citovat
#041169
elninoslov
Upravená pôvodná procedúra, teraz s názvom Odkryť_riadky2(). Ale ako som písal, radšej použite procedúru Odkryť_riadky() a tú pôvodnú zmažte, alebo iba poštudujte ak chcete. Je jednoduchá, používa skrytý pomocný stĺpec AM, kde sú jednoduché vzorce, pre určenie skrývaných riadkov.
Ak Vám pomocný stĺpec AM, nevyhovuje, tak si zmažte teda tú krátku novú, premenujte tú starú dlhú na Odkryť_riadky() a vymažte stĺpec AM..
Příloha: zip41169_vykaz-dochadzky-priklad-1.zip (117kB, staženo 46x)
citovat
#041188
avatar
Takže som študoval, čo to pochopil, použil a posunul sa ďalej. Ďalšie skrývanie, teraz riadkov aj stĺpcov následnej sumárnej tabuľky som už chcel zvládnuť sám a - podarilo sa - tou ľahšou verziou. Vďaka veľká. Už sa blížim do finále a ešte ma čaká jeden cukrík, ale to dám asi do inej témy.
Ešte raz ďakujem a navrhol by som aj tykanie, len neviem, či si to s mojimi znalosťami môžem dovoliť :-)
Pekný večer.citovat
#041198
elninoslov
Super, lebo vlastná iniciatíva niečo vyskúšať sa vidí tak v 50% prípadoch.

OT: V Tykaní nieje žiaden problém. Teda ak si na to za čas spomeniem :)citovat

Strana:  « předchozí  1 2

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