Zadávanie horného okraja som poriešil a je to docela presné. Aj prvotné nastavenie šírky ľavého a pravého stĺpca, do ktorých sa netlačí. Ale Excel, pokiaľ je mi známe, neumožňuje zadať šírku sĺpca v cm, preto existujú rôzne algoritmy na prepočty. Ja som použil jeden, čo som našiel, ale rovnako nieje presný, ako aj Application.CentimetersToPoints. Prečo to musia byť voľné stĺpce ? Lebo ako píšeš, potrebuješ podčiarknutie aj v týchto stĺpcoh do ktorých sa netlačí, a ak to nebude stĺpec ale okraj, tak tam nič nevytlačíš, lebo na okraj sa netlačí, ten vymedzuje netlačenú plochu. Procedúru Nastav použiješ iba raz, nastaví šírku týchto stĺpcov. Problém ale je v tom, že každá tlačiareň má vytlačiteľnú plochu. Proste aj keď dáš napr. pravý okraj na 0, nebude 0, ale napr. 0,5 cm. Ako zistiť šírku vytlačiteľnej plochy a jej posunutie sa mi neporadilo zistiť.
Preto by som ti aj vzhľadom na nepresnosť Excelu v nastavení šírky stĺpca, doporučil, nachystať si potrebný počet stĺpcov v prostrednej tlačenej časti strany, a vyskúšal akú nepresnosť ti dá na makro Nastav, a upravil si to manuálnym posunutím šírky stĺpca. Za pár minút snahy a 2-3 vytlačené pokusy to máš nastavené. Keďže potrebuješ 5cm a 7 cm po stranách. Z tohto čo ti tu posielame, použi len horný okraj, tlačenie a automatické formátovanie, zabezpečujúce podčiarknutie.
A teraz otázka pre odborníkov. Prečo mi Excel tlačí miniatúry znakov - viz. príloha PDF, ak tam mám podmienené formátovanie používajúce fnc vo VBA ?
=Row()=LastRow()
Kontroluje akýkoľvek posledný riadok, nielen v stlpci B.
Ak ho dám preč, a použijem vrozec, ktorý ale funguje len na stlpec B, je to OK, a veľkosť písmen je v poriadku.
=Row()=MATCH(TRUE;INDEX(ISBLANK($B$1:$B$100);0;0);0)-1
citovat