Teď jsem udělal "objev". Když se má komentář automaticky objevit po najetí kurzoru nad buňku, zobrazí se vždy tak, jak sám chce. To odpovídá mé zkušenosti i příspěvku od xlnc.
Když ale zobrazím komentář pomocí .Visible=True, zobrazí se komentář v místě, kde jsem ho zanechal po posledním přesunu jeho polohy!!! To zase odpovídá tomu, na co přišel marjankaj. Kde si Excel pamatuje tuhle polohu, jsem ale neobjevil. Taky mne nenapadá, jak této možnosti rozumně využít v praxi.
Upozorňuji na významný rozdíl: marjankaj nabízí způsob, jak opravdu hodnotu skrýt (ale zachovat ji). Tak zní téma vlákna. Ostatní odpovědi zápornou hodnotu ruší, jak zní vysvětlení autora dotazu. Přemýšlejte prosím nad tím, na co se ptáte. Na víceznačné dotazy existují víceznačné odpovědi...
Objekt Comment, pokud vím, nemá (a nikdy neměl) žádnou možnost, jak nastavit jeho pevnou polohu vůči buňce, k níž se vztahuje. Před mnoha lety jsem se o to taky marně pokoušel. Dnes jsem se šel podívat do objektového modelu a opravdu jsem tam nenašel nic, čeho by se šlo chytit. To, že při zadávání obsahu komentáře mohu polohu nastavit, vyvolává jen marné iluze...
Je zvláštní, že mi druhý ze dvou lidí, kteří se ozvali, vyčítá stejnou chybu, která ovšem není chybou nabídnuté metody. Kritizované zamíchání dat na místě je jen jednou z nekonečného množství způsobů náhrady dat, kterou moje metoda nabízí. A každý si může volně vybrat, jestli nepoužije jakákoliv jiná typově podobná data s naprosto odlišným obsahem. Záleží jen na posouzení, o jak háklivá data ve zdroji jde. To ovšem může vyhodnotit jen ten, kdo příslušná data obsluhuje.
Pokud by to mělo třiceti až padesáti procentům lidí, postižených nechtěným propojením, přinést pomoc (dopočet do sta procent), pak budu nadmíru spokojený. Jsem si vědomý, že míst, kde se může propojení skrývat, je opravdu velké množství a já zkoumám jen jedno z nich. Takže váš odhad účinnosti pro zaslaný nástroj pokládám za velkou poctu pro něj.
Myslím, že se to stalo každému, kdo někomu něco narychlo vytvořil "ze svých zásob". Něco se zkopíruje, něco se přidá, rychle se zkontroluje, jestli to počítá a pryč s tím, protože kdo rychle dává, dvakrát dává. Lehce ale přitom může dojít k rozčarování, když příjemce takového dárku narazí na zprávu o existujících propojeních, s čímž sám těžko něco udělá.
Klasickou příčinou takového stavu jsou zpravidla vzorce ze zdrojového sešitu, které se odvolávají na jiné listy v rámci svého sešitu. Při jejich kopírování dává Excel přednost odkazu na zdroj před odkazem na listy nově vznikajícího sešitu. Při testování funkčnosti nemusíme poznat nic, protože ty propojovací odkazy najdou zdroj a fungují správně. Jakmile se ale sešit s takovými odkazy od nás odstěhuje, problém je na světě.
V příloze je rutina, která výše uvedený problém odstraňuje tím, že propojovací odkazy ve vzorcích vybrané oblasti "lokalizuje", tj. převádí je na odkazy v rámci svého sešitu. Několikrát už mi tenhle postup vytrhl trn z paty, a to zejména u sešitů, které jsem s popsanou vadou obdržel od jiných. Pokud si na to riziko vzpomenu, proženu tou procedurou své odvozené sešity dřív, než je pustím z ruky. Občas se to vyplatí...
Pokud vím, Excel kolekci Workbook.Colors od verze 2007 přestal aktivně používat a vede ji podstatě jen kvůli kompatibilitě se starým Excelem. Velmi by mne proto překvapilo, kdyby běžný zásah do obsahu sešitu cokoliv změnil na vlastnosti ColorIndex. Rád se ovšem nechám v tom smyslu poučit.
Přece jenom posílám řešení bez KT. Ani ne tak kvůli tomu řešení, ale spíš kvůli návrhu na vhodnější uspořádání tabulky s daty. To nově navržené je menší a přehlednější. Navíc se lépe kontroluje úplnost dat a líp se s ním taky počítá.
Přimlouvám se za kontingenční tabulku. Vzorečkové řešení se SUMIF jsem si napsal, když jsem ověřoval dodržení párovací logiky ON/OFF v datech. Funguje to, ale KT poskytuje vše, co tazatel na začátku požadoval.
To je řešitelná úloha! Pokud v ní budou dodržena logická pravidla o párech ON/OFF, lze ji řešit jak pomocí vzorců, tak samozřejmě i VBA. Zkusím ten druhý postup. Očekávám, že pro řešení pomocí vzorců se najde víc zájemců.
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.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.