VBA&Excel poznámky ... I.
Před rokem to vypadalo, že prgání je definitivně minulostí. Leč člověk míní, život mění...Takže zase pár linků, které bych nerad ztratitl.
1) Vychatávky s Evaluate apod. - http://www.ozgrid.com/forum/showthread.php?t=52372
2) "StrRightBack()" v Excelovské funkci - jak krásná a triviální funkce LotusScriptu! Leč jinde bohužel chybí ... takže ji lze nahradit např. takovýmto přehledným výrazem
=RIGHT(A1,LEN(A1)-FIND(CHAR(1),SUBSTITUTE(A1,"/",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))))
A pokud na první pohled netušíte (jako já), jak vlastně funguje, vysvětlení je zde: http://j-walk.com/ss/excel/usertips/tip079.htm
3) Proč lze a vlastně nelze předávat vlastním funkcím (vytvořené jako public function ve VBA) velmi dlouhé argumenty?
http://www.vbforums.com/archive/index.php/t-252750.html
Závěr - lze předávat, pokud neobsahují funkce Excelu. To znamená výpočet argumentu provést v jiné buňce a na ni se pak odkazovat. Což však může být dosti nepraktické, pokud máte sešit o 15 listech a na každém je funkce použitá cca 30x. Já jsem to vyřešil "klonem" funkce, který napřed připraví argument (v mém případě vícenásobné volání replace()) a až poté zavolá samotnou funkci.
4) S bodem 3 souvisí další věc - kterak používat v CZ Excelu originální anglické názvy funkcí? Stačí stáhnout jednu knihovnu ze stránek M$ a nahradit tu českou. Link pro Office 2003.
IT Hlava děravá ...
3 Komentáře
Buck the Bug, February 21st, 2008



