Stránka 1 z 1
VBa - jak na vlastní funkci
Napsal: 23 čer 2011 15:46
od WikisRuleZz
Dobrý den,
mám v excelu vzorec =PROČISTIT(ZPRAVA((PROČISTIT(ČÁST(J34;1;DÉLKA(J34)-1)) & " " & ZLEVA(J34;2));8)).
potřeboval bych napsat vlastní funkci která by se zeptala jen na buňku kde se nachází hodnota, které se má projet tímto vzorcem a po zvolení buňky (v mém případě J34) by provedla výpočet vzorce.
Nevíte někdo jak na to?
Re: VBa - jak na vlastní funkci Vyřešeno
Napsal: 23 čer 2011 15:56
od Poki
Vlastni funkci bych radsi nepouzival, protoze je s nimi casto problem s prepocitavanim.
Chtel jsem navrhnout nasledujici:
Zvolite si bunku, do ktere se napise, ve ktere bunce je text, ktery chcete vzorcem upravovat (pomoci funkce NEPRIMY.ODKAZ)
Pr. vzorec: =PROČISTIT(ZPRAVA((PROČISTIT(ČÁST(NEPŘÍMÝ.ODKAZ(A1);1;DÉLKA(NEPŘÍMÝ.ODKAZ(A1))-1)) & " " & ZLEVA(NEPŘÍMÝ.ODKAZ(A1);2));8))
Do bunky A1 napisete: D1 (v bunce D1 bude umisten ten text, ktery chcete upravit vzorcem) - cil se tak urcuje zapisem v bunce A1, coz je vlastne to, co jste chtel...
Re: VBa - jak na vlastní funkci
Napsal: 25 čer 2011 19:09
od WikisRuleZz
Dobrý den,
děkuji. Jistě tento vzorec je o hodně lepší co se týče další práce.
Dalo by se pomocí VBa udělat: po spuštění makra otevře zadejte zdrojovou buňku, po zadání se zadá cílová buňka. Provede se výpočet a vloží do cílové buňky i s vzorcem (pro další kopírování)?
Re: VBa - jak na vlastní funkci
Napsal: 01 črc 2011 18:27
od guest
Vlastni funkci bych radsi nepouzival, protoze je s nimi casto problem s prepocitavanim.
To je sice pravda, ale v daném případě nevidím problém použít Application.Volatile ve funkci. Jde ovšem o to, že to celé není dobrý nápad. Ačkoliv jinak jsem spíš pro řešení na listu, tady bych zvolil makro. Ne vlastní funkci, ale klasickou Sub proceduru, která do listu vrací pozměněné hodnoty (ne žádné vzorce, pro další použití nejsou k ničemu, jen budou zdržovat přepočet). Je dobré znát, co je cílem makra a jestli je vzorec efektivní.
Re: VBa - jak na vlastní funkci
Napsal: 03 črc 2011 13:19
od WikisRuleZz
Dobrý den,
co je cílem vím. Děkuji za diskuzi, pravděpodobně to převedu do makra.