Dobře, tak trošku jinak.
Excel má funkci "Záznam makra", pokus se nejprve sám provést to co potřebuješ a pak sem dej případný výsledek k dotvoření a "učesání". Tedy pokud se chceš něčemu přiučit a trošku porozumět.
Nejlépe se naučíš na svých chybách
Nejsem tak starý, ale hodně pamatuju
Lon
Zkus nápovědu v excelu.
Kdo Ti dělal ten formulář?
Na rychlo:
Cells(start, 7) = Val(JedCpred_f)
Cells(start, 8) = "=RC[-2]*RC[-1]" ' vzorec
Cells(start, 7).NumberFormat = "#,##0.00 Kč"
Cells(start, 8).NumberFormat = "#,##0.00 Kč"
Range(Cells(start, 3), Cells(start, 8)).Borders(xlEdgeLeft).LineStyle = xlContinuous
Range(Cells(start, 3), Cells(start, 8)).Borders(xlEdgeTop).LineStyle = xlContinuous
Range(Cells(start, 3), Cells(start, 8)).Borders(xlEdgeBottom).LineStyle = xlContinuous
Range(Cells(start, 3), Cells(start, 8)).Borders(xlEdgeRight).LineStyle = xlContinuous
Range(Cells(start, 3), Cells(start, 8)).Borders(xlInsideVertical).LineStyle = xlContinuous
Lon
Pak:
Cells(start, 7) = Val(JedCpred_f)
Cells(start, 7).NumberFormat = "#,##0.00 Kč"
I přesto, že DIM JedCpred As Integer
Lon
Zkus použít:
Cells(start, 7) = Format(JedCpred_f, "#,##0.00 Kč")
Lon
Pak by musel být znám nějaký logický algoritmus pro vyhodnocení kódu, tak aby se dal správně interpretovat.
Buď pouhými funkcemi, nebo složitějším vyhodnocení pomocí VBA kódu (makra).
Z takto obecně zadané informace nelze nic konkrétního napsat.
Pokud má zadaný textový řetězec standardní délku, pak stačí využít funkci ČÁST(text; start; počet_znaků). V anglické verzi MID(text; start; počet_znaků)
Problém je v tom, že Application.Dialogs(xlDialogSendMail).Show odesílá aktuálně otevřený soubor.
IMHO, proč neodeslat soubor .xlsx se zamčenými buňkami, místo *.pdf? Pokud však chceš odeslat soubor v *.pdf, pak to bude muset být pravděpodobně provedeno ručně.
Lon
NZ, není to moc perfektní, ale funkční.
Líp jsem to nezvládl 
Lon
Zapomněl jsem na to, snad tohle bude trošku lepší.
Lon
Nevím zda tohle bude vyhovovat, ale podívej se.
Popis je uvnitř makra
Lon
Samozřejmě, že by šel.
Nejprve zkus nějaké své pokusy, pokud se Ti nepovede dobře, vlož sem ten sešit s Tvými úpravami a podíváme se na to.
Malá nápověda:
Excel má funkci "Záznam makra".
Lon
Myslím, že v tomto případě nemusíš nic složitého vymýšlet.
Kopírovat v Excelu snad zvládne každý běžný uživatel.
Postup:
1. Na původním listu označit celý list;
2. Použít funkci Kopírovat (CTRL+C);
3. Otevřít nový sešit;
4. Levým tlačítkem myši kliknout na políčko A1 a vybrat volbu Vložit jinak. Tam zatrhnout Formáty, OK;
5. Levým tlačítkem myši kliknout na políčko A1 a vybrat volbu Vložit jinak. Tam zatrhnout Hodnoty, OK;
6. Uložit nově otevřený sešit pod zadaným názvem a odeslat.
Původní list je přenesen přesně tak jak potřebuješ, včetně podmíněného formátování, výšky řádků, šířky sloupců, ....
Toť vše. Tedy 6 kroků ke spokojenosti.
Pokud máš jinou představu, popiš ji podrobně, nebo lépe přilož soubor na kterém by to mělo fungovat.
Lon
Pak tam jsou také různé další možnosti jako je Hodnoty, Formáty, Komentáře, Šířk sloupců, Hodnoty a formáty čísla, .... Pokud nezatrhneš (nevložíš) Vzorce tak zůstanou jen hodnoty.
Podmíněné formátování se přenáší s Formátem
Řelk bych, že je to přesně to co potřebuješ.
Jeza.m Ti dal dobrý odkaz a pravděpodobně Ti celé makro napíše a okomentuje.
Já osobně spíš preferuji "nápovědu". Pokud se chceš opravdu něco pro sebe naučit a pochopit, musíš se do toho aktivně zapojit. Makra umožňují krokování a lze takto vysledovat co se vlastně po jakém příkazu děje (až na pár vyjímek).
Stáhni si ten soubor ve fóru a zkus si vytvořit vlastní návrh, není to složité.
Pokud pak budeš mít problémy, popiš je a dej sem Tvůj sešit k dispozici.
Vím, že každý nějak začínal. Tyto věty nejsou myšleny nijak zle (vlastní zkušenosti).
Sice nejsem zase tak starý, ale hodně už pamatuji.
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.