S pozdravem Kerim80
]]> Doufám, že jste se do toho makra "nezamiloval" Aby to vyhovovalo Vašim potřebám, musel byste zřejmě zůstat u toho Vašeho systému s více sešity. Na tom systému není dobrá koncepce. Pro každý řádek samostatné makro a tlačítko vyhovuje jen "malým" agendám.
Tohle makro umí obsloužit všechny Vaše potřeby v jediné kopii (originálu). Může ovládat i zavřené sešity ap. Je tedy dobré, že Vás to možná baví. Je to na Vás
Pokud to nemůžete zjistit, zkuste znovu stáhnout soubor. Vypněte hned "režim návrhu" (to už víte) a otestujte.
Až budete mít názor zda vše v jednom listě, nebo vše v jednom sešitě na různých listech, nebo v různých sešitech, a nebo v databázi tak dejte vědět. Když bych měl chvíli tak pošlu ukázku jak by to mohlo vypadat v jednom listě.
]]>Fakticky máte 2 tabulky : seznam ev a seznam změn. A prakticky 2 výstupy: Seznam posledních změn pro všechna ev a seznam všech změn pro vybrané ev.
Pokud z nějakých důvodů pohrdněte bází, můžete to zkusit vytvořit v calcu. Určitě to bude pohodlnější, než to co zatím vyrábíte.
(Do údržby 250 samostatných listů by mne nikdo nedonutil, ale generovat tyto listy až takový problém není. A když je umím automatiky generovat, proč to nedělat jen když to bude nutné a po použití zase smazat.)
]]> Obecný postup : Otrockou práci s kopírováním si usnadníte takto:
1. Předem spočítáte (například ještě v originál sešitě, kde jste kopíroval) kolik řádků obnáší 250 tabulek. Například zjistíte, že po 30-ti řádcích je to 7500 řádků.
2. Máte v paměti tabulku, kterou budete kopírovat.
3. Ihned najedete na řádek 7500 a tam to vložíte.
4. Nyní máte tabulku na konci. Vyberete řádky, které obsahují tabulku a označíte je barvou - například žlutou. Je nutné, aby barva přesahovala šířku tabulky. Proto vyberete všechny obsazené řádky a to celé, nebo o něco více sloupců, než má tabulka. Teprve ty vyžlutíte. Je to značka na kterou budete najíždět. Proto by měla být dost široká abyste ji nepřehlédl. Když by byla široká jen jako tabulka, tak barvu smažete překopírováním a nemáte nic.
5. Následně smažte data v této tabulce tak aby zůstala jen barva - žádná data.
6. Skočíte na začátek stiskem kombinace kláves CTRL+End. Máte totiž prázdný list a proto CTRL+End = CTRL+Home (což je vlastně nutné ověřit). Pokud se dostanete jinam nežli do A1 je to chyba - jinam to jít prostě nesmí.
7. V A1 vložit tu tabulku znovu a pokračovat :
- CTRL+End
- následně šipka jednou dolů
- CTRL+šipka vlevo (jste v prvním prázdné buňce sloupce A. - tedy například A31)
- Vložit - CTRL+V
--------------------------
- CTRL+End podržet CTRL a stisknout Home.
- Máte vybrány dvě tabulky - zkopírujete je CTRL+C.
- CTRL+End
- šipka dolů (bez CTRL)
- CTRL + šipka vlevo (první prázdná buňka ve sloupci A)
- Ctrl+V (vložíte 2 tabulky, nyní máte již 4 tabulky a pokračujete stejně)
--------------------------
- CTRL+End podržet CTRL a stisknout Home.
- Máte vybrány 4 tabulky - zkopírujete je CTRL+C.
- CTRL+End
- šipka dolů (bez CTRL)
- CTRL + šipka vlevo (jste v první prázdné buňce sloupec A)
- Ctrl+V (vložíte 4 tabulky, nyní máte již 8 tabulek)
Ve vašem případě můžete dál pokračovat binární řadou 16-32-64-128-256. To je celkem 1+2+4+8+16+32+64+128=256 tedy 7 kroků které uděláte a je to. V tomto případě byste ani značky dělat nemusel, ale ne vždy je to takhle jednoduché.
--------------------------
Obecně například postupujete binární řadou až na počet 64 tabulek v paměti. Je jasné 64*4 je také 256, ale musíte udělat místo 2 kroků (se znovunačtením od A1) 4 kroky jen vykopírováním na konec (stále vkládáte jen 64 tabulek). Oba postupy jsou zde rovnocenné, ale jen do doby, nežli se ocitnete na hranicích kapacity operační paměti (respektive stránkovací).
Bývá dobré konečný počet dělit dvěma dokud se nedostaneme na nějaké rozumné množství - například lichý počet (řekněme 5). Ten nakopírujete po jedné tabulce. Když máte 5, začnete binární řadou. Pak už se moc starat nemusíte, a ani nic počítat. Jen si zapamatujete například, že to je asi necelých 8. tisíc. Kopírujete (binární řadou od A1 ..konec) dokud nejste někde blízko. Když máte dojem, že by to mohlo stačit, nebo že jste už za, tak PgUp - nebo PgDw. Najedete na žlutý pruh a víte, že jste za, nebo před.
Obecný postup umožní práci přerušit a pokračovat třeba za 5 dní, kdy už si detaily nepamatujete.
Existuje ale brutálnější metoda. Nakopírujete 1 plný testovací řádek - zadáte úsek a vykopírujete naráz celý. To je nejrychlejší, ale například zjistíte, že je to na hranici možností, a že ve skutečnosti tolik buněk v 1 tabulce nebude (v hlavičce je několik prázdných buněk ap). Vyplatí se otestovat skutečný tvar tabulky.
Takto zjistíte, zda je možné realizovat vše v jediném sešitě. Pokud by se to nějak výrazně zpožďovalo, nebo dokonce sekalo a padalo - je nutné zvolit jinou koncepci.
]]>přepis údajů lze pouze v řádku 5 = ev.3. ale v kartě ev.3 to přepisuje pouze dřívější hodnoty neřadí jednotlivé změny do dalších řádků (nevytváří historii)
Ale jinak je to přesně co potřebuji, jen ještě vést tu výše zmiňovanou historii
"BASIC - chyba při běhu"
"Vyskytla se výjimka"
"Type:com.sun.stark.lan.IndexOutOfBoundsException
"Message:.
250 řádků pro zápis vyžaduje roletku, nebo kontingenční tabulku ap. Je také možné vytvořit vstupní formulář a přes něj to krmit včetně získání výstupu (tisku).
U podobných evidencí například dochází k pravidelným revizím a podobně. Pak je potřeba například vygenerovat denní (týdenní, měsíční) plán a seznam. K tomu bývá zapotřebí přiřadit například pracovníky, nebo vozidlo, pokud je potřeba služební cesta, a další detaily.
Samozřejmě pak nepřichází v úvahu 1 řádek - 1 tlačítko pro každý prostředek. Otázkou je pak zda tiskové sestavy budou mít více stránek, zda se budou mazat (evidence provedených prací nemusí být archivována takto jak je tištěna zřejmě pro účel vydání pokynů opravářům, revizákům, kontrolorům ap.
Tedy je možné, že to nepobere počítač jako objem dat a nebo to bude pomalé. Pak by se to muselo rozdělit do více sešitů [ale uživatel bude užívat (otevírat) jen jediný sešit, ostatní by pracovali "hiden" - skryté].
Další možností je užití databáze. Pro databázi by toto bylo zcela typickou aplikací. Ale sešit to umí "snadněji", pokud to tedy "uveze".
Navíc jsem si docela jistý, že by tam mohly být ještě další vstupy a nebo i výstupy. Takhle to vypadá, že je to jen pro tisk. Při tom třeba neřeším formáty - jsou přednastavené jen v listech, jsou tam rámečky aby se vytiskla tabulka. Prostě se díváme na tiskovou sestavu, která bude potřebovat možná upravit tak, aby každý list měl hlavičku.....
Bez potvrzení jestli je to dobré, a podobně nemá cenu něco řešit jinak. Myslím, že je lepší, když pomocí makra skočí autor do Basicu, podívá se jak vypadají rozdíly mezi makry.
Když bude jen trošku schopný a nebo spíš ochotný tak uvidí rozdíly. Snadno pak vytvoří další makra inline - řádek - tlačítko - makro - list i nový - jako další položka. Na to ostatní přijde časem
Proč je špatné editovat jednotlivé karty a do přehledu dotahnout jen poslední hodnotu?
To lze vzorci řešit poměrně snadno.
]]>