problém s "porcováním" tabulek při tisku na více listů

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Zamčeno
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

Zdravím, potřeboval bych poradit, jak nastavit, aby se mi tabulka vždy vytiskla celá na list, mám pod sebou několik tabulek, o počtu řádků cca 20, v těchto tabulkách se před tiskem skrývají prázdné řádky, takže nějaká tabulka může mít třeba jen 7 řádků, nebo může být celá skrytá. Lze nějak u oblastí kde jsou tabulky nastavit, že při tistku nesmí být rozděleny na více listech, a aby byly listy tabulkami vyplněny co nejefektivněji, děkuji moc za rady
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od navstevnik »

Prvni moznost je moznost tisknout vyber - tedy tabulku po tabulce na jednotlive listy.
Druha moznost je upravit list skrytim nebo vlozenim radku tak, aby byly tabulky cele a efektivne vytisknuty na jednotlivych tiskovych strankach (pred upravou si dej nahled, ktery na list vlozi ohraniceni tiskovych stranek).
Treti moznost je pouzitim funkce Fotoaparat (najdi si v napovede) sestavit na novy list tabulky dle potreby (poradi, velikost) a pak tento list tisknout.
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

myslel jsem spíše, jestli to nejdě nějak zautomatizovat, aby koncový uživatel nemusel nic dělat manuálně, manuálně to řeším tak, že si zvolím "zobrazit konce stránek" a zde si odré čáry posunu dle potřeby. zkoušel jsem si zapnout záznam marka a hýbat s modrou čárou, byl zapsán příkaz

Kód: Vybrat vše

Set ActiveSheet.HPageBreaks(1).Location = Range("C49")
jak ale zajistit, aby makro poznalo, kam má hranici posunout? v nějakém sloupci bych si zadal hodnoty 1 nebo 0, podle toho zda se na přislušném řádku nachází tabulka, třeba i skrytá, pak bych potřeboval najít poslední viditelnou buňku s hodnotou 0, a tuto buňku vrátit do výše uvedeného příkazu, poté znovu pro další list.... je to reálně nějak napsat? nebo existu nějaká jednodušší možnost?

PS: je nějaký vzorec který vrátí čílo stránky na které se nachází buňka?
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od navstevnik »

Nejspis se da napsat procedura realizujici pozadovane.
Tabulky maji shodnou sirku - shodny pocet shodne sirokych sloupcu?
Tabulky maji ruzny pocet radku, ale vsechny radky tabulky jsou alespon v jednom slouci vyplneny?
Odstup tabulek (pocet radku) je ruzny nebo konstantni?
Tabulky na tiskovych strankach maji zachovat poradi jako na listu?
Maximalni pocet tistenych radku je konstantni (tiskove listy maji zahlavi a zapati) nebo lze plochu vyuzit zmenou okraju?
Priloz ukazkovy sesit s demo tabulkami a pripadne rucne vlozenou predstavou rozdeleni.
Doplneno:
Pokud se zajimas o cislovani tiskovych listu v bunce, pak je neco zde:
http://www.dailydoseofexcel.com/archive ... in-a-cell/
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

přiložil jsem soubor s demem sešitu, z toho pochopíš jak je to myšleno, zkusil jsem se teoreticky zamyslet nad řešením, je to tam popsané, ale asi přijdeš na něco lepšího a rychlejšího. skusil jsem využít funkci ThisPage, na kterou jsi mi poslal odkaz, ale nevím jestli to bude to správné řešení....
Přílohy
demo - uni objednávka.xls
(133 KiB) Staženo 32 x
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od navstevnik »

Zrejme (to se domyslim, kdyz tak upresni) pozadujes tisknout k radkum 1-15 (hlavicka objednavky) vzdy dalsi radky (telo objednavky) 16-29 (32-45; 48-61;...) podle zvoleneho cisla objednavky E16 (E32; E48; ...). Takze pro objednavku 456 neni potreba nic skryt, jen tisknout radky 1-29; pro napr. objednavku 459 skryt radky 16-63 a tisknout radky 1-77.
Nebo to ma byt tak, ze k hlavicce 1-15 maji byt vytisknuta vsechna tela objednavek 456-45x (tedy ta, jez maji v prislusne bunce Exx vyplnene cislo objednavky) a to tak, ze nebude dilci objednavka rozdelena na dva tiskove listy?
Tela objednavek budou mit vzdy stejny pocet radku? Odstup tel objednavek je vzdy stejny? Pokud je nutno zacit tisk dalsiho tela, tak zbyvajici radky zustanou volne nebo je potreba nejak zmenit rozmisteni? Vysky radku v tabulkach jsou stejne nebo ruzne?
Nejak mi unika vyznam poznamky z listu v sesitu:
když P63 není rovnoP78, tak uprav výšku řádku 62 tak, aby platilo výška=současná výška+výšky tří následujících řádků (počet následujících řádků vychází z hodnoty buňky R63) a toto opakovat pod kažnou tabulkou…
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

Ano, k hlavičce 1-15 maji byt vytisknuta vsechna tela objednavek 456-45x (tedy ta, jez maji v prislusne bunce Exx vyplnene cislo objednavky) a to tak, ze nebude dilci objednavka rozdelena na dva tiskove listy. Tisk je prováděn přes tlačítko nahoře, v jeho marku najdeš proceduru se zabílením, kterou jsi mi již dříve poradil a dále se skryjí nevyužité řádky těl objednávek, ve po dokončení tisku se zase tabulky rozkryjí.

když si na to tlačítko klikneš, tak se skryjí řádky s nevyužitými řádky (v objednávce 456 se skryjí nevyužité řádky zboží1 a zboží 3, v případě, že vy nebyla zvolena vlastní doprava ale závoz, budou skryty i řádky 26-28, ve sloupci N jsou ke každému řádku nadefinované podmínky které zapíší hodnotu buď 1 která znamená že řádek bude vytisknut, nebo hodnotu "" která znamená, že bude před tiskem skryt) ve vyplněných objednávkách, poté se skryjí celá těta tabulek, které nemají číslo objednávky a pak se zabílý oblasti které nechci tisknout.

ta poznámka byla myšlena jako slovně popsaný návrh, jesli by tak šlo zajistit aby byla tabulka v kuse... nevím jak se to pokusit zapsat do VBA, jestli je to blbost, tak na tu poznámku zapomeň...

díky moc za tvůj čas
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od navstevnik »

V priloze v modulu5 VBA je procedura, ktera vlozi na aktivni list hpagebreaks tak, aby nebyly rozdeleny dilci objednavky na tiskovych strankach a v podstate tisk vyberu.
Je vlozen pomocny vodici sloupec B:B, neni potreba skryt, sloupce P:R muzes odstranit.
Objednavky, ktere maji prazdnou bunku E16 (E32; E48; ...) nejsou tisknuty, predpoklad je, ze tisknutelne objednavky nejsou prolozeny netisknutelnymi.
Tlacitko na listu je zmeneno na tlacitko z Panely nastroju>Ovladaci prvky, zatim vola proceduru Sub PrintSelectionPage(), muzes pridat dalsi proceduru skryvajici radky v dilcich objednavkach (napis pravidla a pridam).
Zanalyzuj si proceduru (nastaven nahled, pro lepsi pochopeni si zaktivuj radky Debug.Print a pripadne nepotrebny blok, muzes pak vse odstranit), dukladne otestuj a pro tisk pak nastav parametr Preview:=False.
Modul2 je nejak neprehledny (asi nejak souvisi s celym konceptem), pokud potrebujes vykonavat opreace VBA na zamknutem listu, pak vloz do modulu Tento sesit proceduru (k parametru UserInterfaceOnly vice v napovede):

Kód: Vybrat vše

Option Explicit

Private Sub Workbook_Open()
' povoleni operaci VBA na zamknutem listu
  Worksheets("Objednávka Uni").Protect UserInterfaceOnly:=True
End Sub
Přílohy
demo - uni objednávka.xls
(146.5 KiB) Staženo 29 x
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

děkuji moc, hned to jdu otestovat
m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: 30 črc 2010 13:50

Re: problém s "porcováním" tabulek při tisku na více listů

Příspěvek od m.niki »

tak jsem tvoji proceduru otestoval, funguje přesně jak má, i po doplnění funkce skrývání nevyužitých řádků se tabulky tisknou pěkně v celku,
UserInterfaceOnly mi také ušetřilo spoustu práce a hned je o pár řádků v kódu méně. Díky návštěvníku!
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Změna poslední číslice ve více číslech najednou
    od Arnold91 » » v Kancelářské balíky
    7 Odpovědi
    11352 Zobrazení
    Poslední příspěvek od Zivan
  • Canon pixma ts5150 w11 nelze tisknout vice kopii na stranku
    od mrpcz » » v Vše ostatní (hw)
    4 Odpovědi
    4348 Zobrazení
    Poslední příspěvek od petr22
  • Problém s FPS
    od mcrakvar » » v Vše ostatní (sw)
    4 Odpovědi
    9394 Zobrazení
    Poslední příspěvek od petr22
  • Problém s internetem
    od valama » » v Internet a internetové prohlížeče
    11 Odpovědi
    10294 Zobrazení
    Poslední příspěvek od RIKI22
  • Problém s mikrofonem
    od Shokata88 » » v Problémy s hardwarem
    4 Odpovědi
    5483 Zobrazení
    Poslední příspěvek od Shokata88

Zpět na „Kancelářské balíky“