Předmět Autor Datum
Zkus nastavit podmíněné formátování na základě funkce. Použij funkci =FormulaText(), která převede v…
Jan Fiala 30.08.2014 19:00
Jan Fiala
Mám Excel 2007 a funkce FormulaText mi bohužel nefunguje..
Fizzi 30.08.2014 19:33
Fizzi
Funkce Formulatext je dostupná v excelu verze 2013. Do starších verzí si ji můžeš snadno "přidat" po…
Siki83 30.08.2014 20:09
Siki83
Jak poznám, že se mi ta funkce podařila do Excelu vložit? Postupovala jsem podle videa, ale nezobraz…
Fizzi 31.08.2014 07:25
Fizzi
Vezmu to od začátku. Otevřeš sešit excelu, stisknutím ALT+F11 otevřeš editor VBA do kterého přepíšeš…
Siki83 31.08.2014 10:49
Siki83
Paráda, děkuji. Nejprve mi to nešlo, protože jsem pořád zadávala FormulaText a ne FT. Pak jsem zjist…
Fizzi 31.08.2014 14:56
Fizzi
bude tato funkce fungovat ve všech sešitech Excelu nebo ji musím vždycky vložit přes editor? Jak doc…
Siki83 31.08.2014 18:05
Siki83
Zkusila jsem to udělat přes ten *.xlam. Otevřela jsem si nový sešit Excelu, přes editor jsem vložila…
Fizzi 09.09.2014 08:27
Fizzi
Ahoj, je pravda, že když sem to testoval bylo to na excelu verze 2010, kde se vlastní funkce zobrazi…
Siki83 09.09.2014 09:12
Siki83
Siki, ako prosím ťa, vkladáš ten kód do odpovede takou formou, ako to máš aj tu? Ja to kopírujem ako…
robert13 09.09.2014 09:34
robert13
kód vba vkládám do tagu (code) .. (/code) pomocí tlačítka viz obr. [http://pc.poradna.net/file/view/…
Siki83 09.09.2014 09:41
Siki83
díky ;) nový
robert13 09.09.2014 09:54
robert13
Jsem blb. Funguje to, jen se funkce nezobrazuje v nabídce. Děkuji moc. Ty české/anglické názvy mě an… nový
Fizzi 09.09.2014 10:34
Fizzi
Neviděl bych to tak sebekriticky :-), taky mě nenapadlo, že se to bude ve verzi 2007 chovat odlišně… nový
Siki83 09.09.2014 11:27
Siki83
Ty jo, to je složité. Zatím si tam nechám ten původní doplněk a uvidím časem, co budu potřebovat. Dě… poslední
Fizzi 09.09.2014 15:26
Fizzi

Vezmu to od začátku. Otevřeš sešit excelu, stisknutím ALT+F11 otevřeš editor VBA do kterého přepíšeš ten kód z videa a editor zavřeš křížkem, tím je vlastní funkce dostupná. Tabulku co je vidět v 0:51 neřeš, je to jen ono otevřených aplikací. V sešitu napíšeš =FT (tak se jmenuje nová funkce, pokud si stáhneš soubor co sem přiložil, funkce je tam dostupná pod názvem =FormulaText).
Pro funkčnost vlastních funkcí je však nutné mít povolená makra!

Paráda, děkuji.
Nejprve mi to nešlo, protože jsem pořád zadávala FormulaText a ne FT. Pak jsem zjistila, že byl soubor uložen jako ods, a i když jsem ho uložila jako soubor Excelu s podporou maker, nešlo to. Musela jsem otevřít nový sešit Excelu a data zkopírovat.
Ještě jsem se chtěla zeptat - bude tato funkce fungovat ve všech sešitech Excelu nebo ji musím vždycky vložit přes editor? Jak docílím toho, aby fungovala všude?

bude tato funkce fungovat ve všech sešitech Excelu nebo ji musím vždycky vložit přes editor? Jak docílím toho, aby fungovala všude?

Pokud tuto funkci nebudeš využívat "masově" stačí si ji nakopírovat přes editor vba do konkrétního sešitu.
Excel používá tzv. Osobní sešit maker (Personal.xlsb), který je skrytý někde v uživatelském profilu. Dají se do něj ukládat makra, která jsou potom dostupná ve všech sešitech, ale jestli se toto týká i vlastních funkcí netuším. Nikdy jsem to nepotřeboval.
Další možností by bylo (a to mám vyzkoušené) soubor s vlastní funkcí uložit jako doplněk (*.xlam).
Tento doplněk uložit někam do vhodné složky, aby nebyl na ráně a nějaký aktivista ho nesmazal.
Potom stačí na tento doplněk excel navést: Tl. office -> možnosti -> doplňky -> spravovat doplňky aplikace excel - tlačítko přejít -> procházet -> nyní vyhledat soubor s doplňkem *.xlam a ok.

Vlastní funkce bude dostupná ve všech sešitech na tomto konkrétním PC.

Zkusila jsem to udělat přes ten *.xlam. Otevřela jsem si nový sešit Excelu, přes editor jsem vložila novou funkci a sešit uložila jako *xlam. Pak jsem postupovala stejně, jako jsi psal. Otevřela jsem nový sešit Excelu, klikla na Office - Možnosti - Doplňky - Přejít - Procházet (našla jsem ten *.xlam, dala Otevřít) - zašktla jsem ho v seznamu doplňků - dala OK. V tom otevřeném sešitu jsem chtěla funkci zkusit, napsala jsem =FT, ale funkce nefunguje, nabízí mi to FTEST. Kde jsem udělala chybu?

Ahoj, je pravda, že když sem to testoval bylo to na excelu verze 2010, kde se vlastní funkce zobrazila v roletce.
[http://pc.poradna.net/file/view/19787-excel2010-pn g]
V excelu verze 2007 se to však neděje, proto se Ti zobrazuje pouze FTEST avšak vlastní funkce je PLNĚ FUNKČNÍ!
Vyzkoušeno. Nekoukej na to, že se Ti vlastní funkce nezobrazuje na roletce a klidně ji použij.
Jako kontrolu si otevři nový sešit a podívej se do editoru maker (ALT+F11), uvidíš že tam vlastní fce bude zapsána.

Ještě jedna technická pokud používáš český excel, vlastní fce vrací anglické názvy funkcí (ve vzorci máš =KDYŽ vlastní fce vrátí =IF). Pokud bys chtěla české názvy ve vlastní funkci:

Function FT(Bunka As Range)
 FT = Bunka.FormulaLocal
End Function

Jsem blb. Funguje to, jen se funkce nezobrazuje v nabídce. Děkuji moc.
Ty české/anglické názvy mě ani nenapadly, protože jsem funkci používala jen k podmíněnému formátování. Je to ale zajímavé. Ten příkaz mám vložit do editoru vba pod ten starý příkaz s funkcí FT nebo mám otevřít v editoru nový modul a vložit ho tam?

Neviděl bych to tak sebekriticky :-), taky mě nenapadlo, že se to bude ve verzi 2007 chovat odlišně od 2010. Pokud Ti nevadí, že vlastní funkce vrací anglické názvy tak si můžeš ponechat doplněk beze změn. Pokud bys chtěla používat funkci jen s "češtinou" tak bych stávající doplněk smazal a vytvořil nový s výše zmíněným kódem. Pokud bys chtěla používat obě verze (cz i en) současně opět bych odstranil současný doplněk a vytvořil nový s tímto kódem:

Function FT(Bunka As Range)
 FT = Bunka.Formula
End Function

Function FTCZ(Bunka As Range)
 FTCZ = Bunka.FormulaLocal
End Function

Jediný rozdíl v "CZ verzi" je to slovíčko Local - FTCZ = Bunka.FormulaLocal

Zpět do poradny Odpovědět na původní otázku Nahoru