loading...
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Priateľu, opätovne konštatujem, že ani ty sám nevieš, čo chceš. Preto som ti minule radil, aby si sa…
robert13 28.06.2020 13:46
robert13
Každý nemůže byt tak chytrý.
Mati 28.06.2020 14:12
Mati
Mati, počúvaj, zamysli sa, ponor sa do hĺbky svojej duše. Zvládol by si to, ale to by si najprv ty s…
robert13 28.06.2020 14:18
robert13
Třeba nějak tak? Bohužel ani to mi nějak nejde. Private Sub Worksheet_Change(ByVal Target As Range)…
Mati 28.06.2020 15:24
Mati
V příloze posílám vzor. 1 Řádek 5 je skrytý u vzoru je skrytý 2 Řádek 6 by se měl skrýt což nejde…
Mati 28.06.2020 15:54
Mati
Tak ešte raz: Popíš mi, čo robí ktorý riadok toho, čo si napísal. Keď vieš, čo si napísal, budeš ved… nový
robert13 28.06.2020 15:55
robert13
V příloze posílám vzor. Private Sub Worksheet_Change(ByVal Target As Range) Set aCell = Range("A1")… nový
Mati 28.06.2020 16:13
Mati
Ja sa nepýtam, čo by si rád, aby ktorý riadok robil, ale čo ten ktorý príkaz znamená. A prosím každý… nový
robert13 28.06.2020 16:24
robert13
Tak to se přiznám, že to nevím jak to máš na mysli? nový
Mati 28.06.2020 16:27
Mati
Napíš, čo znamená: Private Sub Worksheet_Change(ByVal Target As Range) Napíš, čo znamená: Set aCell… nový
robert13 28.06.2020 16:32
robert13
To je, ale co to znamená nevím. Já se přiznám. nový
Mati 28.06.2020 16:45
Mati
No vidíš. A to som práve chcel povedať. To je akoby som napísal 100 náhodných písmenok a myslel si,… nový
robert13 28.06.2020 16:50
robert13
A můžeš mi to prosím upravit? Moc ti děkuji. nový
Mati 28.06.2020 16:54
Mati
Nehnevaj sa, nie. Nemá význam programovať to, čo dosiahneš pravým klikom na označené riadky a povelo… nový
robert13 28.06.2020 16:59
robert13
Tak ti i přesto děkuji. nový
Mati 28.06.2020 17:49
Mati
Pekné od teba. :beer: nový
robert13 28.06.2020 17:53
robert13
Tak ono nemá cenu něco programovat, když si požadavky tazatele navzájem odporují. :puff: nový
Siki83 28.06.2020 17:53
Siki83
No ale veď my vieme, čo od toho očakával, len on v tom nemal jasno... Dovtedy odkrývať po jednom voľ… nový
robert13 28.06.2020 17:55
robert13
Ale hlavně celej tenhle požadavek je zbytečná volovina a potencionální líhniště problému. Při tomto… nový
Siki83 28.06.2020 18:08
Siki83
1 Áno, to je jedna z vecí, ktoré by mohol užívateľ navyvádzať. Alebo napríklad také dodatočné vyhode… nový
robert13 28.06.2020 18:20
robert13
1) právě není to jen o skrývání řádků, ale i o ošetření různých vyjímek, a to je to co tazateli nedo… nový
Siki83 28.06.2020 18:32
Siki83
2) ...dyť je to jedno :-D;-):beer: Ak príde ktorýkoľvek z nich so zmysluplným dotazom, tož poradíme,… nový
robert13 28.06.2020 18:38
robert13
Nooo spokojnosť predpokladám na 15 min, keďže nemá zapracované spätné skrývanie po výmaze položiek,… poslední
robert13 28.06.2020 18:52
robert13

Priateľu, opätovne konštatujem, že ani ty sám nevieš, čo chceš. Preto som ti minule radil, aby si sa vykašlal na predstavu, že budeš tvoriť nejaké makrá. Jednak nevieš ani zrozumiteľne vysvetliť, čo chceš a jednak ani nemáš analytické myslenie, aby si premyslel nejaký algoritmus riešenia.
Tieto dva tvoje citáty sú vo vzájomnom protiklade:

1

JENOMŽE TO SKRIJE VŠECHNY ŘÁDKY.
POTŘEBUJI, ABY KDYŽ JE JEDEN PLNY ABY SE ZOBRAZIL DALŠÍ ŘÁDEK.

2

Chtěl bych aby když v řádku C42:P42 není žádná položka, aby se skryl.

Samozrejme, logické je, že v prípade, že sa jeden riadok zaplní, aby sa nasledujúci odkryl pre možnosť zadania ďalšej položky. Nezdá sa Ti?

Ideálne riešenie pre teba je vyhotoviť faktúru a keď si s ňou skončil, označíš si celé prázdne riadky, klikneš pravým myšítkom a zvolíš "skryť".
Týmto riešením môžeš označiť dotaz za vyriešený.

Ak by si si predsalen nedal pokoj, zaveď si tam tlačidlo "Vytlačiť", ktoré v prípade, že budeš mať faktúru skompletovanú, skryje nevyplnené riadky, vytlačí ju a opätovne rozbalí všetky riadky.
Obávam sa, že aj takto zjednodušené (a pritom funkčne plne vyhovujúce riešenie) riešenie zmrvíš, lebo nemáš snahu rozmýšľať, iba preberať hotové makrá. Žiaľ... Ba čo viac, nemáš snahu ani o poznanie základov Excelu (viď hárok "Položky" tojej prílohy), ako si potom môžeš myslieť, že budeš zvládať makrá?

Mati, počúvaj, zamysli sa, ponor sa do hĺbky svojej duše. Zvládol by si to, ale to by si najprv ty sám musel chcieť. Stále to vyzerá tak, že síce chceš, aby ti to tak fungovalo, ale nemáš najmenšiu snahu pre to niečo urobiť. Len skúšať niečo náhodne stiahnuté a dať si to niekomu doopravovať. Celú dobu, čo sa tu objavuješ (či už pod týmto nickom alebo inými), nevidno žiadny pokrok a z toho vyplýva aj môj chladný postoj k nejakej snahe poslať ti riešenie. Ak sa ti páči nejaká zautomatizovaná činnosť a chceš sám dokázať vytvoriť niečo také, musíš postupovať od základov. A postúpiť ku zložitejšiemu, až keď si pochopil to jednoduchšie...A ak na to nemáš trpezlivosť, tak tož smola, ale potom si nájdi iné hobby.

Třeba nějak tak?
Bohužel ani to mi nějak nejde.

Private Sub Worksheet_Change(ByVal Target As Range)
Set aCell = Range("A1")
Set aCell = Range("A2")
Set aCell = Range("A3")
Set aCell = Range("A4")
Set aCell = Range("A5")

If Not Intersect(Target, aCell) Is Nothing Then
Range("B28:AR28").EntireRow.Hidden = aCell = "1"
Range("B30:AR30").EntireRow.Hidden = aCell = "2"
Range("B32:AR32").EntireRow.Hidden = aCell = "3"
Range("B34:AR34").EntireRow.Hidden = aCell = "4"
Range("B36:AR36").EntireRow.Hidden = aCell = "5"
End If
End Sub

V příloze posílám vzor.

1 Řádek 5 je skrytý u vzoru je skrytý
2 Řádek 6 by se měl skrýt což nejde

Private Sub Worksheet_Change(ByVal Target As Range)
Set aCell = Range("A1")

If Not Intersect(Target, aCell) Is Nothing Then
Range("5:5").EntireRow.Hidden = aCell = "1"
Range("6:6").EntireRow.Hidden = aCell = "2"
Range("7:7").EntireRow.Hidden = aCell = "3"
Range("8:8").EntireRow.Hidden = aCell = "4"
End If
End Sub

V příloze posílám vzor.

Private Sub Worksheet_Change(ByVal Target As Range)
Set aCell = Range("A1")
Set aCell = Range("A2")
Set aCell = Range("A3")
Set aCell = Range("A4") což nejde

If Not Intersect(Target, aCell) Is Nothing Then
Range("5:5").EntireRow.Hidden = aCell = "1" SKRYJE SE ŘÁDEK 5 KDYŽ ZADÁM HODNOTU 1 DO BUŇKY A1
Range("6:6").EntireRow.Hidden = aCell = "2" SKRYJE SE ŘÁDEK 6 KDYŽ ZADÁM HODNOTU 2 DO BUŇKY A2
Range("7:7").EntireRow.Hidden = aCell = "3" SKRYJE SE ŘÁDEK 7 KDYŽ ZADÁM HODNOTU 3 DO BUŇKY A3
Range("8:8").EntireRow.Hidden = aCell = "4" SKRYJE SE ŘÁDEK 8 KDYŽ ZADÁM HODNOTU 4 DO BUŇKY A4
End If
End Sub

U BUŇKY A1 ZADÁM HODNOTU 1 TAK SE SKRYJE ŘÁDEK 5.
U BUŇKY A2 ZADÁM HODNOTU 2 TAK by SE měl SKRYT ŘÁDEK 6 COŽ NEJDE

Napíš, čo znamená: Private Sub Worksheet_Change(ByVal Target As Range)
Napíš, čo znamená: Set aCell = Range("A1")
Napíš, čo znamená: Set aCell = Range("A2")
Napíš, čo znamená: Set aCell = Range("A3")
Napíš, čo znamená: Set aCell = Range("A4")

Napíš, čo znamená: If Not Intersect(Target, aCell) Is Nothing Then
Napíš, čo znamená: Range("5:5").EntireRow.Hidden = aCell = "1"
Napíš, čo znamená: Range("6:6").EntireRow.Hidden = aCell = "2"
Napíš, čo znamená: Range("7:7").EntireRow.Hidden = aCell = "3"
Napíš, čo znamená: Range("8:8").EntireRow.Hidden = aCell = "4"
Napíš, čo znamená: End If
Napíš, čo znamená: End Sub

Je to dosť zrozumiteľné, čo tým chcem?

Nehnevaj sa, nie. Nemá význam programovať to, čo dosiahneš pravým klikom na označené riadky a povelom na skrytie po tom, čo je faktúra vyplnená.
Program totiž okrem toho, aby robil ten hlavný účel, musí byť odolný voči tomu, čo všetko by s ním mohol užívateľ navyvádzať... A to je kapánek viac práce, než si myslíš.
To bude tvoj ďalší level vzdelávania hneď po tom, ako sa naučíš základy.

No ale veď my vieme, čo od toho očakával, len on v tom nemal jasno...
Dovtedy odkrývať po jednom voľnom nasledujúcom riadku, kým nie je faktúra hotová. Ak je hotová, skryť všetky zostávajúce prázdne riadky. Ale že kedy je faktúra hotová, program nemôže vedieť, preto by tam tak či tak musel mať nejaký iný ovládací prvok... A keď už tam ten prvok musí byť, nemá význam to riešiť po riadku... A ako si už písal, patrilo by sa riešiť i layout, v závislosti od množstva položiek...

Ale hlavně celej tenhle požadavek je zbytečná volovina a potencionální líhniště problému.
Při tomto způsobu práce by musel být uživatel informován, že dosáhnul maximálního počtu položek.
Už vidím uživatele jak začne plnit fakturu - řádky se jednotlivě zobrazují a najednou konec.

Tak nějak se nemůžu zbavit dojmu, že se nám tu reinkarnoval Etkin, Prokop, Pistackova .....

Ale záhada hlavolamu pokračuje na wall, sem zvědavej, kam se tohle zadání ještě posune.

1 Áno, to je jedna z vecí, ktoré by mohol užívateľ navyvádzať. Alebo napríklad také dodatočné vyhodenie či vloženie položky niekam do stredu, za súčasnej požiadavky zachovania pôvodného poradia atď. Síce nič nie je neriešiteľné ale už sa to peeekne nabaľuje...
2 Prokop to asi nebude, ten bol tuším imobilný invalid, jedine že by mu dovolili home office... A Etkin s Pištáčkovou sa nevedel asi stotožniť so svojim pohlavím. LGBTI to porieši...

1) právě není to jen o skrývání řádků, ale i o ošetření různých vyjímek, a to je to co tazateli nedochází.
2) Fakt se nemůžu zbavit dojmu, že se stále jedná o tu samou osobu, možná nám to někdo z adminů potvrdí/vyvrátí.

Edit: Tak vedle již dostal řešení se kterým je zdá se spokojený, otázkou je jak dlouho.

Zpět do poradny Odpovědět na původní otázku Nahoru

loading...