Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Napisanie makra v tabulke

Dobry den,
po uspesnom vytvoreni tabulky v odkaze na inom mieste mam dalsiu prosbu. A sice...

Zadanie:

Bunky su nastavene na "klonovanie" textov do harkov, pre ktory je nastaveny vzorec. To znamena, ze co sa napise do niektorych buniek konkretneho riadku, to sa objavi v niekotych bunkach harkov k nim prideleny a zaroven harky su nastavene na doplnanie hodnot do riadkov v povodnom harku.

- zelene bunky v harku "Cisty material" v riadku 4 su automaticky doplnane do priradeneho harku "1"
- cervene bunky v harku "1" su automaticky doplnane do harku "Cisty material"

Co potrebujem...

na harku "Cisty material" (premenovat na "Materiál")

- ozivit tlacitko "Vytvorit novy riadok" tak, aby sa po kliknuti nan vytvoril novy riadok s preddefinovanymi bunkami ako su teraz v tabulke, vratane vsetkych odkazov, podmienok, vzorcov... Zaroven sa vytvoril novy harok k tomuto riadku priradeny a taky, ake su harky oznacene cislami s takym istym obsahom ako su teraz. Vratane vsetkych vzorcov, podmienok, ...
Cize k riadku 4 sa vytvori harok "1", riadok 5 vytvori harok "2"...
Zaciatok riadku moze mat text napr: "Zadaj nazov polozky", ktory zmizne pri kliknuti na bunku a pri napisani vlastneho textu. Ten nazov tam potrebujem mat len pre identifikaciu vytvorenia noveho riadku a noveho harku a objavi sa opat pri zmazani textu. (aby bolo jasne, ze riadok a harok k nemu priradeny je volny alebo novo vytvoreny)

- riadky by mali byt automaticky nastavene tak, aby po kliknuti na ne sa otvoril harok k nemu priradeny (teraz tam mam hypertextovy odkaz odkazujuci na vytvoreny harok k tomuto riadku priradeny.)

- ozivit tlacitko "Zoradit podla abecedy" tak, aby sa vsetky riadky v tabulke zoradili podla abecedy a podla hodnoty v bunkach v stlpci "A" tak, ze sa zoradia kompletne riadky aj hodnotami a prepojeniami na harky v nich priradene. To znamena, ze riadky budu aj nadalej odkazovat na harok k nemu vytvoreny.

- mat funkcny filter v zltych bunkach

Na harkoch "1" - "x"

- spojazdnit tlacitko "Spat na material" (teraz je tam hypertextovy odkaz, ten dat prec). To tlacitko musi fungovat pre kazdy vytvoreny harok

Cele to potrebujem mat na neobmedzeny pocet riadkov a harkov

Vedel by mi s tym niekto pomoct? Makro je pre mna oblast, ktoru absolutne neovladam.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Sice do toho vstupuji asi už "s křížkem po funuse", ale uvědomil sis, že na tohle Tvoje zadání je Ex…
MachR55 08.07.2015 15:10
MachR55
Skvele vystihnutý problém makier! Ja si síce musím poradiť s excelom aj v databázovej problematike a…
robert13 08.07.2015 15:27
robert13
Souhlas, spousta databázových věcí lze v Excelu suplovat, ale jakmile se v zadání objeví něco ve smy…
MachR55 08.07.2015 15:58
MachR55
Chcel som to ulahcit, aby sa nemuselo tolko klikat, no uz to zacina byt tak komplikovane, ze sa nakl…
Patt 08.07.2015 17:08
Patt
no... takže po preverení toho "netriedenia" v stĺpci E: Je to tak, ako som vravel, je to dôsledok,…
robert13 08.07.2015 19:34
robert13
Super, dakujem velmi pekne. Este sa chcem opytat. Premenovavam si niektore chybycky krasy a zistuje…
Patt 08.07.2015 20:37
Patt
Super, dakujem velmi pekne. Ok, mam poriesene, upravil som si este drobne chybycky krasy a zda sa,…
Patt 08.07.2015 22:39
Patt
Keď som uzamkol stĺpec so vzorcom pre hypertexty, hypertexty sa zneprístupnili... Takže, keď už si m…
robert13 09.07.2015 10:03
robert13
Funguje to dokonale. Velmi pekne dakujem. Este si upravim nejake podmienky a hotovo. Klobuk dolu pre…
Patt 09.07.2015 17:02
Patt
Dakujem, som rad, ze si spokojny a ze moja praca niekomu pomohla. Nezabudni na podmienky, ktore musi… nový
robert13 09.07.2015 17:17
robert13
Pekný deň, myslel som si ,že nie, ale predsa len sa našla jedna chybyčka...na prvom hárku nefunguje… nový
Patt 10.07.2015 06:36
Patt
Do zoznamu povolených činností pri zamykaní hárka som pridal povolenie filtra (pre tvoju informovano… nový
robert13 10.07.2015 07:34
robert13
Ten zoznam povolených činností je kde? Poznámky: Hárok "Vzor" je síce orámovaný po riadok 108 (por… nový
Patt 10.07.2015 09:47
Patt
Ad povolené činnosti: Keď uzamykáš hárok, pod textovým poľom pre heslo máš zoznam, čo môžeš, napriek… nový
robert13 10.07.2015 11:28
robert13
Ad 1 - toto som tuším mal, ale asi zle, ďakujem za opravu Ad 2 - chvala bohu Ad 3 - tak toto číslo… nový
Patt 10.07.2015 12:27
Patt
Tuším Ti napíšem, kde bývam :-D Keby mal ostať prázdny riadok, odomkni a riadok vypusti (CTRL - -) poslední
robert13 10.07.2015 13:58
robert13

Sice do toho vstupuji asi už "s křížkem po funuse", ale uvědomil sis, že na tohle Tvoje zadání je Excel velice nevhodný SW? Tohle je prostě typická databáze.
Excel může nahradit dejme tomu dvě - tři tabulky z databáze, ale provozovat pod Excelem takovýto databázový systém, to prostě nemůže skončit dobře. Už teď narážíš na spoustu omezení a musíš dodržovat řadu pravidel (budeš si je pamatovat za měsíc? za půl roku? za rok? bude ty pravidla schopen dodržet někdo, kdo Tě zastoupí po dobu případné nemoci?). Může se taky stát, že se za půl roku objeví nějaký atypický materiál, který prostě na daný mustr nepůjde napasovat. A co když budeš chtít přidat nějakou funkčnost, o níž dnes nemáš ani potuchy? Přitom v databázi bys většinu pravidel mohl lehce ošetřit už vhodným návrhem struktury databáze a nové věci vyřešil takříkajíc "levou zadní". Vidím tady prostě příliš velké riziko sesypání celé této "databáze" jedním nevhodným zásahem a přílišnou náročnost dalšího rozšíření.
A ke všemu neštěstí navíc neovládáš makra, takže pokud budeš chtít něco doplnit nebo se něco sesype, budeš opět shánět pomoc a dotyčný nešťastník bude louskat existující makra a vzorce a snažit se "vcítit" do myšlení autora. Ono totiž jednu věc lze v Excelu udělat asi 35 zcela různými způsoby a každý může mít jiné preference a návyky. Mimochodem - víš, jaké je nejděsivější zadání úlohy pro MS Excel (bod 10)?

„Chci si v Excelu evidovat vystavené faktury, můžete mi doporučit nějakou šablonu?“

Říkáte si, co je na tom tak strašného? Z praxe vím, že takový dotaz neskončí přeposláním šablony. Uživatel bude chtít fakturu plnit daty klientů (adresy, DIČ, kontaktní osoby atd., což sice v počátku lze řešit závislými seznamy na listu Excelu, ale do budoucna to směřuje k databázi) a vyřešit číslování. Zjistí, že faktury mají své objednávky a dodací listy, bude chtít provádět storna, případně vystavovat dobropisy atp. a nakonec přijde třeba odepisování ze skladu. Excel je dejme tomu nástroj pro finanční analýzu, ale NENÍ VHODNÝ jako účetní – nebo, chcete-li ekonomický – software. Stejně tak nemůže ve větším měřítku zastoupit specializovaný databázový software.

Souhlas, spousta databázových věcí lze v Excelu suplovat, ale jakmile se v zadání objeví něco ve smyslu "neomezený počet" - v tomto případě řádků (což je ještě celkem OK) a listů (!!!) - musí každý znalec Excelu zavětřit. Mám jeden "supersoubor", kde provádím různé analýzy určitých dat, v současné době už jsem se s ním dostal na 24 listů a přestože jej používám takřka denně už asi 10 měsíců, občas už začínám tápat, když chci najít list, na který jsem se třeba už měsíc nepodíval. Vůbec si nedokážu představit práci se souborem, kde bude třeba 150 listů, byť jimi nebudu listovat, ale budu se na ně proklikávat přes nějaký seznam...

no... takže po preverení toho "netriedenia" v stĺpci E:

Je to tak, ako som vravel, je to dôsledok, že sa poruší priradenosť príslušného hárka na správny riadok prvého hárka. Je to logické, keď si prešetríš vzorce, zistíš, že čo sa tam deje a prečo sa to JAVÍ v prvom hárku ako nezoradený stĺpec E. Akonáhle sa opravia hárky, prenesú sa do stĺpca E správne hodnoty a všetko súhlasí.
Ale ako som predpokladal, zapracovaním makra sa tento problém vyriešil, keďže makro na povel zoradenia:
a) zoradí obsah prvého hárka
b) následne automaticky zapíše do buniek I1 jednotlivých hárkov správne priradenia k riadkom prvého hárka a všetko súhlasí...

Nerozumiem čo má začať byť komplikované, netreba robiť nič viac, než na úplnom začiatku: Vytvoriť nový hárok zo vzoru, vytvoriť nový riadok v prvom hárku a priradiť do prvého hárka názov príslušného hárka pre nový materiál a opačne, v príslušnom hárku zapísať prvotné číslo priradenia k riadku prvého hárka.

A všetko funguje...

Takže plne funkčná (vrátane makra) je príloha s príponou xlsm (z odpovede o 13:48 h)

P.S. vzorce, ktoré vytvárajú hypertexty a tiež tie, ktoré používajú nepriame odkazy, majú za úlohu práve výrazne redukovať potrebné operácie, než keby si musel definovať hypertexty jednotlivo a nastavovať spätné väzby...

Jediné, čo sa ešte odporúča po dôkladnom pretestovaní urobiť, je pouzamykať všetko, do čoho nebude nutné vstupovať z hľadiska bežnej obsluhy...

To je z mojej strany všetko.

Super, dakujem velmi pekne.

Este sa chcem opytat. Premenovavam si niektore chybycky krasy a zistujem, ze na prvom harku mi v stlpci "E" ukazuje status zasob, nie skutocny stav. Prenasa sa tam bunka "G4", ale zrejme som sa niekde pomylil a potrebujem tam zobrazovat bunku "E4". Staci v tomto vzorci =IF(F4="";0;INDIRECT(F4&"!G4")) len zmenit "G4" na "E4" Alebo musim opravit este nieco ine?

Super, dakujem velmi pekne.

Ok, mam poriesene, upravil som si este drobne chybycky krasy a zda sa, ze je vsetko ako ma byt.

Ale este mam jednu otazku.

Chcem to cele pozamykat proti nahodnemu prepisaniu urcitych buniek. Vsetko je v poriadku, ale...co treba nastavit resp. ako, aby po skopirovani posledneho riadku na prvom harku ostali zamknute bunky v stlpcoch "E" a "G"? Normalne ich mam zamknute, ale akonahle ich skopirujem a vlozim, tie vlozene ostanu odomknute. Da sa este nejako poriesit toto?

Keď som uzamkol stĺpec so vzorcom pre hypertexty, hypertexty sa zneprístupnili...
Takže, keď už si ma dokopal do makier, tak už keď je tam jedno, tak už ich tam rovno môže byť viac :-)

Takže v priloženom súbore už máš VŠETKO, čo je potrebné, pouzamkýnané (heslo "aaaa") a máš tam bonusy vo forme:

- prechodov na príslušnú kartu toho riadka, v ktorého bunke sa nachádzaš (jedno v ktorej, t.j. prejde sa na kartu toho materiálu, v ktorého riadku máš aktívnu bunku)
- vytvárania nových riadkov na tlačidlo

Návraty z kariet máš upravené namiesto hypertextov tiež na tlačidlá.

Ak si chceš zmeniť heslá na vlastné, kľudne môžeš, jediné heslo, ktoré potrebuje makro poznať, je heslo do prvého hárka, keďže pri vytváraní nového riadka si musí hárok odomknúť, vytvoriť riadok a zamknúť.
Z toho vyplýva, že keď si chceš zmeniť heslo prvého hárka, musíš ho opraviť aj v makre (cez editor VBA na karte Vývojár). Nájdeš ho v makre NovyRiadok a vyskytuje sa tam dvakrát - raz pre odomknutie a raz pre zamknutie. Tam len prepíšeš "aaaa" za nové heslo a hotovo.

Osoby znalé VBA si ho však vedia z kódu vyčítať... Keď chceš zabrániť aj tomuto, treba zaheslovať aj náhľad na projekt VBA.

Otestuj a daj vedieť...

Pekný deň,
myslel som si ,že nie, ale predsa len sa našla jedna chybyčka...na prvom hárku nefunguje automatický filter...končí 4 riadkom. Pri pridaní nového riadku prestane fungovať úplne a nefunguje ani pri odomknutí a zrušení zabezpečenia a pri opätovnom zapnutí automatického filtra a zamknutí hárku.

finálnu tabuľku som sem dal zozipovanú, aby som zas nemusel všetko prepisovať. Je to nastavené tak, ako má byť vo finálnej podobe a heslo na odomknutie je administrator

Do zoznamu povolených činností pri zamykaní hárka som pridal povolenie filtra (pre tvoju informovanosť, ak budeš potrebovať niečo podobné).

Poznámky:

- V hárkoch máš vzorce pre sumarizáciu nastavené až po riadok 150 ale rámčekovanie Ti končí skôr. Vyber si, ktorá verzia bude platná a uprav si podľa toho vzor, aby si si potom kopíroval správny vzhľad. Samozrejme teraz musíš jednorazovo upraviť už aj hotové karty...

- Vzhľadom na to, že potreba hypertextov padla (nahradené makrami), je už jedno ako si nazveš súbor, takže či poradňa zmení názov alebo nie, už to funkčnosť neovplyvní.

Ten zoznam povolených činností je kde?

Poznámky:

Hárok "Vzor" je síce orámovaný po riadok 108 (por.č.: 100), ale to teoreticky nevadí. Akože môžem si upraviť túto kartu na sumár končiaci orámovaním, to nie je problém. Sumár sa ale bude upravovať už na kartách "k..." podľa potreby. Ak bude menej pohybov, bude stačiť toto orámovanie a tento sumár, ale ak bude viac pohybov, doplní sa orámovanie a upraví sa sumár. Predpokladám ale, že toto na funkčnosť a marko vplyv mať nebude, či?

A ešte otázka, aby som sa nedostal na "mŕtvy bod". Koľko riadkov je možné vytvoriť na karte "Materiál" aby to celé fungovalo?

Ad povolené činnosti:
Keď uzamykáš hárok, pod textovým poľom pre heslo máš zoznam, čo môžeš, napriek uzamknutiu, povoliť. Tam bolo potrebné zafajknúť "Použiť automatický filter". Tak isto si robil zneprístupnenie buniek, ktoré sú uzavreté (povoliť alebo zakázať "Vybrať uzamknuté bunky" t.j. ak toto zakážeš, Excel Ti nedovolí sa na ne ani len postaviť).

Ad rámčekovanie vs vzorce:

To je vyslovene Tvoja vec... ja som len upozornil, je to chybička krásy ;-)

Ad mŕtvy bod:

Z Tebou popísaného hľadiska mŕtvy bod neexistuje, resp je obmedzený len počtom riadkov Excelu t.j. 1 048 576. ALE keďže my ku každému riadku priraďujeme hárok, tak obmedzujúci faktor je aj počet hárkov, ktorý je možné v Exceli založiť. Toto je obmedzené len pamäťou PC, ale že koľko to reálne znamená, aký je tam vzťah, to netuším, ale myslím, že toto Ti nehrozí... Ak toho bude veľmi veľa, maximálne zistíš, že sa práca so súborom spomaľuje...

AVŠAK... existuje niečo podobné, čo musíš rešpektovať, ale je to v inej súvislosti:
Už som sa zmieňoval o celistvej resp. súvislej oblasti...
Pre správnu činnosť nesmieš mať prerušenú tabuľku, t.j. medzi vyplnenými riadkami nesmieš mať prázdny riadok. V každom riadku musí byť minimálne jedna bunka vyplnená (samozrejme v našom prípade sa bavíme o rozsahu stĺpcov A až F) pričom tá minimálne 1 by mala byť, v našom prípade, v stĺpci F.
Pri zoraďovaní totiž program hľadá hárky nazvané tak, ako sú uvedené v stĺpci F, pričom postupuje zhora nadol. Pokiaľ by si mal riadok, kde nemáš vyplnenú bunku v stĺpci F, tam s prideľovaním spätných väzieb skončí. Ak by si mal pod tým ďalší riadok, kde už v stĺpci F máš údaj, smola, sem sa už program nedostane. Nehovorím, že sa to nedá vyriešiť, ale takýchto "drobností" je tam milión a také makro je oveľa náročnejšie napísať, než proste dodržať podmienku, že musíš dbať na to, aby si mal údaje riadne povypĺňané.

Ad 1 - toto som tuším mal, ale asi zle, ďakujem za opravu

Ad 2 - chvala bohu

Ad 3 - tak toto číslo určite nehrozí, to by som musel robiť pre neviem aký sklad, možno Tesco...:-))) ale tam by sa to už riešilo ináč, mnie takto, pre moje využitie bohate stačí

Ad avšak - myslím, že to riešiť nebudem, prázdy riadok nikdy nebude, max. sa nahradí inou položkou.

OK, idem skúšať, snáď už nenarazím na nič.

Ešte raz ďakujem za pomoc a hlavne Tvoj čas, ochotu a dobre odvedenú prácu. Vedieť, kde bývaš, ideme na ...:beer:

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