Opravdu máte pocit, že tazatel TEho má z téhle diskuse nějaký užitek? Asi by bylo účelné, kdyby se k tomu tazatel vyjádřil...
Pokládám za bezpředmětné zabývat se zadáním, které nesplňuje ani základní zásady pro práci s daty. Vyhodnocováním slepence dvou kalendářních dat to začíná. Jedna, nebo taky dvě mezery za pomlčkou jsou pokračováním o nepochopení práce s daty. A "datum", které má před rokem mezeru, není datum.
Dokonce pokládám za škodlivé s takovými "daty" pracovat dřív, než se do nich vnese alespoň základní pořádek. Fakt, že to člověk očima přečte bez problémů, by neměl být důvodem, abychom Excel nutili k obrábění podobného datového nepodařence. Jen to svádí negramotné uživatele k přesvědčení, že Excel unese cokoliv.
Jako tatar ne, jen s tatarským přízvukem . Chci tomu rozumět tak, že vyplníte řádek v "pokladna-soupis" a chcete tento řádek převést do podoby pokladního dokladu (s využitím vyplněných hodnot z pokladny).
Pro podobné případy používám vyvolání události BeforeRightClick (nebo BeforeDoubleClick) na listu pokladna. Náplní události je přenos údajů z místa vzniku události do listu s dokladem, spojený s fyzickým přechodem na tento list.
Pokuste se o to vlastními silami. Když to nepůjde, zkuste upřesnit, kde jste uvázla, případně co jsem špatně pochopil.
Opravdu jsem měl na mysli to, co použil cmuch1 ve svém kódu. Operátor Like umí kromě "divokých znaků" ? a * i další konstrukce srovnávacího řetězce a významně tak rozšiřuje možnosti testování obsahu řetězců.
Využití schopností Like jsem se pokusil přenést také do oblasti funkcí listu v podobě své UDF ULike(Řetězec;Vzor), jak ji lze najít v doplňku UDFstandard1.
Ani operátor Like ovšem netvoří špici pro práci s neurčitým obsahem řetězce. Tu představují (podle toho, co vím) tzv. regulární výrazy, jejichž knihovnu si lze pro Excel vypůjčit z VBScriptu. Nedávno jsem dokonce objevil UDF, která umožňuje pracovat s regulárními výrazy v rámci funkcí listu. Regulární výrazy jsou ale velmi košaté téma, vyžadující pečlivé nastudování. Znám jen velmi málo příkladů práce s touto strukturou. Já jsem si zatím s možností Like bohatě vystačil.
Opakuje se stejná otázka, na kterou je stále jediná odpověď. Neexistuje rozumná možnost, jak testovat barvu buňky z podmíněného formátování. Jediná rozumná možnost je použít stejnou podmínku, která je použitá pro podmíněné formátování také pro objekt, který se má chovat ve shodě s naformátovanou buňkou. Doufám, že jsem to napsal srozumitelně.
Doporučuji nastudovat práci s operátorem Like, který poskytuje pro úlohy podobného typu velmi účinnou volbou testu.
Bez vyhledávacích funkcí si lze jen obtížně představit inteligentní využití práce s daty v Excelu. Před pár lety jsem napsal animovaný návod pro práci s touto kategorií funkcí. Dávám ji do přílohy,
Vracím se k tématu s tím, že jsem svůj původní algoritmus revize vzorců v buňkách doplnil o prohlídku vzorců v názvech, grafech a kontingenčních tabulkách s následnou lokalizací vzorců. V případě externích odkazů ve vzorcích pro ověření dat a pro podmíněné formáty se ukázalo, že se takové odkazy deformují tak významně, že jejich automatickou lokalizaci nelze realizovat. Na zjištěné případy reaguje prověrka pouze varovnými zprávami.
Proceduru pro indikaci externích linků v prověřovaném sešitě jsem plně převzal z příspěvku od xlnc. Tato procedura linky hledá, aniž by se je pokoušela nějak modifikovat.
Inovovaný nástroj LokalizaceVzorcuX je vybavený nemodálním formulářem s voláním obou možných prověrek. Je napsaný tak, aby mohl být použit jako běžný doplněk.
Obecně platí, že Dim Sesit vytvoří "pouzdro" pro objekt, který definujeme pomocí As, např. Dim Sesit as Workbook. Proměnnou Sesit pak můžeme naplnit objektem typu Workbook. Zatím ale je objektová proměnná Sesit prázdná (Sesit is Nothing). Teprve příkaz Set tuto proměnnou naplní potřebným obsahem, např. Set Sesit = ThisWorkbook. Od té chvíle, pokud oslovíme proměnnou Sesit, oslovujeme tím objekt ThisWorkbook.
Pomalu si zvykám, ale to, že o příspěvek bez náhrady přijdu, když se místnímu systému např. nelíbí příloha, je opravdu nepovedené. Doporučení na preventivní uschování mi připadne, jako kdybych před požitím oběda v hospodě měl vždycky napřed a pro sichr požít protijed.
xlnc napsal/a:
Barva pozadí buňky je zrádná věc, barva písma, ať už udělaná jakkoliv, je ovšem OČIVIDNÁ pitomost.
Znám velmi málo případů, kdy někdo používá barevné formátování buněk. Váš požadavek splní číselný formát (Číselný formát / Vlastní)
[Zelená][=1]"OK";[Červená]"NE"
Možná by to šlo ještě jednodušeji: tabulku první+druhá jsem šoupnul do schránky, kurzor nastavil na levý horní roh cílové oblasti a v menu "Vložit jinak" jsem vybral současně možnosti "hodnoty" a "transponovat". Já jsem tím způsobem získal to, co jsem očekával. Problém je jenom v tom, že zdrojové buňky neobsahují celá čísla, takže transponovaná tabulka vypadá formálně blbě. To ale spraví vhodné naformátování (nebo lépe úprava zdrojových tabulek).
Jestli jsou obě data v řádku umístěna do jedné buňky (a vypadá to tak, že ano), pak mám pro tazatele doporučení, aby se místo Excelu věnoval nějaké jednodušší práci. Složitá řešení hloupých zadání jsou jen na škodu věci.
Doporučení od xlnc asi povede na shánění a registraci potřebného prvku Active X. Jestli nemáte bohatší Excel než já, bude vám ten prvek zřejmě taky chybět.
Nabízím jinou možnost. Před lety jsem se nechal inspirovat a napsal jsem vlastní kalendář na bázi formuláře. Jedna z jeho variant byla určena pro rozšíření formuláře o další prvky. Pokud byste pokládal za rozumné můj formulář doplnit o své vlastní prvky, může to pro vás být řešení.
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.