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

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

Moderátor: Mods_senior

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 06 zář 2010 12:46

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

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 06 zář 2010 13:33

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: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 06 zář 2010 16:36

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: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 06 zář 2010 18:30

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: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 07 zář 2010 11:29

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 20 x

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 07 zář 2010 16:09

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: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 07 zář 2010 16:31

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: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 08 zář 2010 18:41

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 18 x

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 08 zář 2010 22:32

děkuji moc, hned to jdu otestovat

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod m.niki » 09 zář 2010 10:58

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!


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Protokol při tisku Příloha(y)
    od Myerina » 09 lis 2023 08:02 » v Vše ostatní (hw)
    6
    1349
    od mirekol Zobrazit poslední příspěvek
    09 lis 2023 09:12
  • Excel - automatický export listů xls do pdf včetně pojmenování Příloha(y)
    od kalosek » 28 čer 2023 20:31 » v Kancelářské balíky
    2
    2122
    od kalosek Zobrazit poslední příspěvek
    29 čer 2023 19:39
  • Tisk více excel souborů najednou.
    od Myerina » 17 dub 2024 17:42 » v Kancelářské balíky
    2
    865
    od Myerina Zobrazit poslední příspěvek
    20 dub 2024 11:36
  • Jak přidám více monitorů do mini Windows PC.
    od holatir427 » 06 lis 2023 13:59 » v Problémy s hardwarem
    8
    1446
    od mmmartin Zobrazit poslední příspěvek
    04 led 2024 11:27
  • 144hz monitor nefunguje na více než 120hz Příloha(y)
    od fakeyn » 11 kvě 2023 21:37 » v Problémy s hardwarem
    1
    894
    od kecalek Zobrazit poslední příspěvek
    12 kvě 2023 12:30

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 41 hostů