Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  21 22 23 24 25 26 27 28 29   další » ... 36

Zkuste nahlédnout do příspěvku k doplňkovým funkcím listu. Najdete tam UDF, které lze pro tento účel použít.

Před časem jsem objevil (náhodně a v důsledku překlepu) dialogové okno Výběr a viditelnost, poskytující dost významné služby pro práci s kresbami a obrázky na listu. Vyvolá se klávesovou zkratkou Alt+F10.
Před chvílí jsem na toto okno upozorňoval jednoho tazatele mimo toto fórum. Chtěl jsem ho odkázat na nápovědu, ale při ověřování, jak je to v nápovědě popsáno, jsem s velkým překvapením zjistil, že v nápovědě pro E-2010 tato klávesová zkratka chybí.
To okno poskytuje dost užitečných služeb (i když ne všechny, které by byly žádoucí a možné). Má ale jednu "chybu", která může být dost zavádějící. Umožňuje provádět vzájemné přesuny v seznamu zobrazených objektů. To je příjemné. Upozorňuji ale, že tyto optické přesuny nemají žádnou vazbu na pořadí objektů v kolekci Shapes, jejíž pořadí zůstává těmito přesuny nedotčené.
Žádné jiné výhrady k oknu nemám. Snad jen škoda, že nedovoluje přejmenování objektů Shape podle přání a potřeb vývojáře.

to Lubek:
nějak nechápu roli správce listů sešitu. To má být nějaký nástroj, nebo nějaká osoba? Pokud jde o nástroj, stálo by zato definovat jeho požadované vlastnosti. Pokud jde o osobu, pak vycházím z toho, že zveřejněním sešitu na fóru poskytuji neomezená práva k osobnímu užívání a šíření jeho obsahu (samozřejmě ne k jeho prodeji). Neumím si představit, jak by šlo někomu zabránit v tom, aby v odemčeném sešitě prováděl změny.

Přesně taková reakce mne těší. Každý si může do toho sešitu přidat své funkce, které potřebuje používat a které má nejspíš už někde vyřešené. Pokud to někdo udělá a nabídne takové rozšíření sem na fórum, nevidím důvod, abych to předělával, když to bude fungovat, jak má.
Pokud má někdo pouze nápady, co by se mělo ještě přidat, ale nemá pro to napsaný kód, mohu se samozřejmě pokusit takový námět zpracovat a příslušnou UDF přidat. Stačí popsat smysl funkce včetně návrhu na její parametry. V tom směru je sešit s UDF možné rozšiřovat bez omezení a jsem ochotný být součástí takového procesu.

Před časem jsem pro jiné fórum sepsal pár užitečných UDF, kterými lze doplnit nabídku standardních funkcí listu. V příloze je sešit s 29 funkcemi, které lze použít třemi způsoby: (1)-jednotlivé vybrané funkce převzít do svého projektu VBA a učinit z nich jeho nedílnou součást; (2)-spustit sešit z přílohy souběžně se svým sešitem; po dobu, kdy bude sešit s funkcemi otevřený, budou tyto funkce dostupné pro pracovní výpočty i ve vašem sešitě; (3)-sešit z přílohy převést na doplněk; pak můžete funkce z aktivního doplňku volně používat ve svých sešitech.
Pokud použijete celý sešit, najdete funkce z něj v nabídce funkcí listu ve skupině Vlastní, a to včetně popisu jejich syntaxe. Na druhé straně: doplňkové funkce budou fungovat jenom tehdy, pokud budou mít k dispozici přístup ke kódu funkcí. Proto může vzniknout potíž s předáním vašeho sešitu jiným osobám, kterým budete muset poskytnout současně i můj sešit s UDF.
Pokud byste naopak chtěli převzít některé funkce do svých aplikací včetně popisu jejich syntaxe, museli byste si s funkcí přetáhnout i její popis z úvodu mého kódu.

Mně vyšel pro 2.řádek příkladu tento vzorec:
=12*ROK(B2)+MĚSÍC(B2)-(12*ROK(A2)+MĚSÍC(A2))+KDYŽ(DEN(B2)>=C2;1;0)
Vzorec lze roztáhnout pro celou tabulku. Oprava o 1 se týká případu, kdy datum poslední splátky zahrnuje i den běžné splátky.
Můj vzorec říká, kolik splátek celkem má být splaceno, nikoliv počet splátek k dnešnímu dni, jak bylo požadováno. To zadání jsem nějak nepochopil.

Ten druhý postup je lepší a opravdu vloží konstantu, nikoliv zorec, jak jsem se původně domníval, že udělá když je volaný jako Formula. Nejjednodušší znění ovšem je ActiveCell = Date

Teď mi došlo že když na MACu není klávesa pro středník, že může být problém napsat SendKeys "^;".
Pokud by to problém opravdu byl, naplňte SendKeys takto:
SendKeys (Chr(94) & Chr(59))

Ve Windows lze nápad s makrem na zkratku pro "Ctrl;" realizovat dvěma spolupracujícími makry:
Sub Dnes()
SendKeys ("^;")
End Sub

Sub Pouzij()
Application.OnKey "^{DOWN}", "Dnes"
End Sub
Makro Pouzij zprovozní zkratku "Ctrl-šipka dolů" tak, že bude volat makro Dnes. Místo makra Pouzij bude dobré příkaz umístit do událostní procedury Workbook_Open. Makro Dnes pak vytvoří požadovanou klávesovou zkratku "Ctrl;"
V tomto provedení mi to ve Windows pracuje správně. Zkratka "Ctrl-šipka dolů" mi produkuje dnešní datum.

Excel pro MAC neznám. Předpokládám ale, že má českou nápovědu. Zkuste v ní prohlédnout heslo "klávesové zkratky" nebo "shortcuts". Odpověď by tam mohla být.

Možné to samozřejmě je. Pro odladění by se hodila adresa vstupního souboru z netu a požadovaná výsledná podoba výstupu (předpokládám, že to je "nějaká" excelská tabulka "někde" v sešitu, ale může to být libovolný, např. textový soubor).
Úplně bez programování by mohl posloužit i můj doplněk ImportZwebu, jehož využití je podmíněno jen tím, že požadovaný obsah z netu je možné pomocí Ctrl-C umístit do systémové schránky. Doplněk má řadu nástrojů, jak získaná data modifikovat do požadované výstupní podoby na listu excelského sešitu.
Pro opakované stahování téhož formátu je ovšem ta první cesta uživatelsky pohodlnější.

Vůbec si nemyslím, že by zkušení vývojáři spolupráci Excelu s SQL databázemi nevyužívali. Dodávají tím svým aplikacím mnoho vynikajících vlastností a schopností. Nejde mi o tyto "zasvěcence". To by bylo nošení dříví do lesa. Pokusil jsem se vzbudit zájem v těch, kteří zatím s databázemi nepracují. Tam cítím velký potenciál pro zapojení účinných technologií do práce s Excelem.
Také netvrdím, že svět osm let spal a že moje archeologie je objevná. Chtěl jsem jenom říct, že jsem před osmi lety pro sebe objevil něco, co jiní znali léta přede mnou a co mnozí současníci neobjevili dodnes. Mne prostě překvapuje, že ani po tolika letech nepatří aktivní spolupráce Excelu s databázemi ke standardní výbavě běžných vývojářů.
A nakonec: chtěl jsem podat ruku těm, kteří by to rádi zkusili, ale nevědí, jak do toho. Nabízím ovšem cestu starou osm let. Tu mám osahanou, k té se umím vyjádřit a tu také v případě potřeby stále využívám. Zatím jsem si bohatě vystačil. Kdo se na to cítí, může si jistě najít novější možnosti.
Podstata problému podle mne nespočívá v tom, jaký přístup k databázím zvolím. Podstatou je to, zda vlastní databáze pro své aplikace vytvářet a používat umím.

Ještě příloha na zvláštním talířku 5

Riskuji další téma bez odezvy. Přesto, že to pokládám za stěžejní pro bezpečnost a spolehlivost práce s daty v Excelu, je dané téma jen velmi zřídka předmětem diskusí na excelských fórech. Nevěřím, že by to bylo způsobeno všeobecnou znalostí a bezkonfliktností práce s daty, uloženými v SQL databázi. Spíš to bude tím, že vývojáři o této možnosti nevědí dost, aby ji více využívali.
I já jsem dlouho vycházel z představy, že k tomu, abych takovou databázi mohl využívat, musím k ní získat přístup z externího zdroje, když sám žádný prostředek pro její založení a obsluhu nemám. Tuto představu u mne změnila účast na jednom setkání vývojářů Excelu a na něm mimochodem vyslovená jediná věta. Stalo se to v roce 2007 a změnilo to tehdy zásadně můj pohled na práci s daty v Excelu. O řádovém posunutí práce s daty v SQL databázi proti jejich uložení v Excelu jsem nepochyboval ani předtím. Dozvěděl jsem se tehdy tu "zásadní maličkost", že Excel je plně vybaven prostředky, aby si sám vytvořil SQL databázi accessového typu (.MDB) a sám ji také plnohodnotně obsluhoval. Tím padl můj základní argument, že bych jinak musel MS Access kvůli tomu pořídit.
Vše stálo a padalo s knihovnou DAO, kterou má Excel ve výbavě snad od zrodu objektového modelu Excelu a kterou stále obsahuje (již mnoho let ve verzi 3.6). Tato knihovna je určena přímo pro práci se soubory typu .MDB a pro tento účel je jednodušší a rychlejší, než později zavedená knihovna ADO.
Před osmi lety jsem se tomuto tématu pár týdnů intenzivně věnoval. Výsledkem byly (kromě zpracování několika školních sešitů s příklady pro vytvoření a využití databáze .MDB v Excelu) i dva texty, které shrnovaly vše zásadní, co jsem k tématu tehdy zjistil. Teď jsem si tu osm let starou práci prohlédl. S trochou překvapení i nostalgie jsem zjistil, že na jejich znění ještě dnes nemám potřebu změnit ani čárku. Úvodní text z tohoto balíčku sem dávám k nahlédnutí. V případě zájmu (na který ovšem moc nevěřím) mohu plynule navázat popisem práce s knihovnou DAO, případně se zmíněnými školními sešity.

to elninoslov:
podle mne nejlepší rada tady na fóru za dlouhou dobu! Za stovku ušetřit hodiny vymýšlení a ladění - to jsou dobře investované peníze!!!


Strana:  1 ... « předchozí  21 22 23 24 25 26 27 28 29   další » ... 36

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