< 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:  1 2   další »
#041051
avatar
Nedá sa mi žiaľ vložiť príloha, nefunguje registrácia. Neprišiel mi mail na potvrdenie.citovat
#041052
elninoslov
No ja neviem, musíte tam mať určite tie zlúčené bunky? Ak nie, tak v pohode bez makra Rozšíreným filtrom v objekte Tabuľka - ukážka v Hárok1. V Hárok 2 je +- nejaký návrh na makro.
Příloha: zip41052_skryvanie-riadkov-makrom-a-filtrom.zip (28kB, staženo 87x)
citovat
#041073
avatar
No, žiaľ, zlúčené bunky tam musia byť, nakoľko pod touto tabuľkou je ďalšia tabuľka, ktorá tie stĺpce využíva. Práve preto mi to robí problém, lebo aj keď zadám do zlúčenej bunky údaj, vedľajšie, ktoré sú jej súčasťou sú prázdne a tak mi v tomto prípade filter berie celú zlúčenú bunku ako prázdnu. Pre skrytie riadku môže byť mernou hodnota buniek v stĺpci G ( čas ukončenia ), ktorá je definovaná tak, že ak v zlúčenej bunke v danom riadku nieje žiaden údaj, jej hodnota je 0. Ak údaj zadám, zmení sa jej hodnota ( napr. na 16:00 ). Rozsah na skrytie riadkov môže byť potom 3,4,5, 7,8,9, 11,12,13, 15,16,17... 122,123,124. Čiže viem ako, len neviem ako :-).citovat
#041074
elninoslov
Zaregistrujte sa, aby ste mohol vkladať prílohu. Max veľkosť 256 kb. Ak je to súbor *.xlsm, treba to zabaliť do ZIP. Citlivé údaje tam nemusíte nechávať, len ich prepíšte somarinami. Ukážte teda presne, ako to vyzerá, a ako príklad niekde bokom ku každému riadku napíšte napr. "s", akože tento riadok by sa mal skryť. A spáchame to nejako. Nieje nad reálne vyzerajúcu prílohu s požadovaným výsledkom...citovat
#041075
avatar
Do zlúčených buniek sa nedá zapisovať. Ale je možné tam nechať nejaké hodnoty.
Všimni si rozdiel medzi 1. a 2. riadkom.
Příloha: xlsx41075_zb.xlsx (10kB, staženo 50x)
citovat
#041077
avatar
A musí ta další tabulka být pod tou první? Nelze ji dát vedle nebo na jiný list?citovat
#041078
avatar
Neviem, registrujem sa už 2 dni, na 2 maily a nič. Napíše mi síce, že Potvrzovací zpráva byla odeslána na e-mailovou adresu blá blá blá, ale nič nepríde. Tak neviem. Ešte to skúsimcitovat
#041079
avatar
Napísal som správu redakcii serveru, tak s tým hádam niečo spravia. Tabuľku som nachystal, musel som síce vymazať všetky podmienené formáty, vzorce, prepojenia, hárky s dátami a overenia hodnôt, aby sa to zmestilo do požadovanej veľkosti, ale pôjde to aj bez toho. Vložím to hneď, ako to pôjde.
Zatiaľ ďakujem.citovat
#041086
avatar
Tak problémy sa vyriešili :-)
Prikladám teda súbor na ukážku.
Příloha: zip41086_vykaz-dochadzky-priklad.zip (111kB, staženo 79x)
citovat
#041089
elninoslov
Super. A vyriešili sa aj problémy s tým skrývaním 5
Sub Skryť_riadky()
Dim Praca(), RNG As Range, i As Byte, y As Byte, Riadok As Long, Pocet As Byte

Application.ScreenUpdating = False
Odkryť_riadky 'Najskôr všetky zobraziť

With ThisWorkbook.ActiveSheet
ReDim Praca(1 To 124, 1 To 1)
Praca = .Cells(8, 4).Resize(124).Value 'Načítať hodnoty

For i = 0 To 30 'Opakuj pre 31 skupín
Pocet = 0

For y = 2 To 4 'Kontroluj v skupine bunky 2,3,4
Riadok = i * 4 + y 'Riadok medzi hodnotami
If IsEmpty(Praca(Riadok, 1)) Then 'Ak je prázdny
Pocet = Pocet + 1 'tak zvýč počítadlo Počet prázdnych
If RNG Is Nothing Then Set RNG = .Cells(Riadok + 7, 1) Else Set RNG = Union(RNG, .Cells(Riadok + 7, 1)) 'a pridaj do skrývanej oblasti
End If
Next y

If Pocet < 3 And IsEmpty(Praca(i * 4 + 1, 1)) Then 'Ak sú bunky 2,3,4 v skupine prázdne, tak sa 1. neskryje, no ak je z 2,3,4 prázdnych menej ako 3, tak sa kontroluje či 1. je prázdna
If RNG Is Nothing Then Set RNG = .Cells(i * 4 + 8, 1) Else Set RNG = Union(RNG, .Cells(i * 4 + 8, 1)) 'ak 1. bunka v skupine je prázdna, tak sa skryje
End If
Next i

If Not RNG Is Nothing Then RNG.EntireRow.Hidden = True 'Ak sú nejaké bunky na skrývanie, tak ich skry
End With
Application.ScreenUpdating = True
End Sub
Příloha: zip41089_vykaz-dochadzky-priklad.zip (112kB, staženo 66x)
citovat

Strana:  1 2   další »

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