Zdravím všechny,
mám excel s několika listy. Chtěl bych vytvořit makro, které vytiskne jen některé listy. A to podle toho zda je zakliknuté, že se má list vytisknout nebo ne. Na to mám zaškrtávací políčka, která jsou propojená i s podmíněním formátováním.
Snad je to aspoň trochu srozumitelné. Soubor v příloze by měl vše objasnit.
Díky moc
excel vba - tisk jen nekterych listu
excel vba - tisk jen nekterych listu
- Přílohy
-
- tisk listu.xlsm
- (33.86 KiB) Staženo 37 x
Re: excel vba - tisk jen nekterych listu
V souboru umístěné makro, které vytvoří náhled před tiskem podle zvoleného seznamu.
- Přílohy
-
- tisk listu.xlsm
- (28.08 KiB) Staženo 68 x
Re: excel vba - tisk jen nekterych listu
Díky za rychlou reakci a fungující makro. Většinu z něj nechápu, takže nejsem schopen ho upravit. Po vytištění zůstaly označené listy, které se tiskly (stejně jak když klikám na listy s podrženým CTRL), jde to udělat, aby se automaticky "odznačily" po vytištění?
Bohužel nemohu dát takto veřejně originální dokument, takže jsem vytvořil náhradní. Ten nebyl stejný, ale jen podobný. Díky tomu mi makro po zkopírování nefunguje. Tentokrát jsem dodal i další listy a další poznámky přímo do excelu. Je to poměrně přesná kopie originálního dokumentu, takže by makro mělo fungovat po zkopírování i tam. Omlouvám se za komplikace, netušil jsem, že to bude na mě tak složité. Šlo by prosím makro upravit, aby fungovalo v nově přiloženém excelu?
Bohužel nemohu dát takto veřejně originální dokument, takže jsem vytvořil náhradní. Ten nebyl stejný, ale jen podobný. Díky tomu mi makro po zkopírování nefunguje. Tentokrát jsem dodal i další listy a další poznámky přímo do excelu. Je to poměrně přesná kopie originálního dokumentu, takže by makro mělo fungovat po zkopírování i tam. Omlouvám se za komplikace, netušil jsem, že to bude na mě tak složité. Šlo by prosím makro upravit, aby fungovalo v nově přiloženém excelu?
- Přílohy
-
- tisk listu 2.xlsm
- (39.62 KiB) Staženo 25 x
Re: excel vba - tisk jen nekterych listu
Ahoj, tak sem předělal kód aby pracoval přímo s názvy listů, které jsou uvedeny na listě přehled (předchozí kód pracuje s indexovým číslem listu). Tím však došlo k úpravě listu přehled, konkrétně názvy listů, které se mají tiskout jsou zapsány ve sloupci B. Sloupec A obsahuje pořadí listů (1-11). Dříve bylo pořadí i název listu v jedné buňce sloupce A. Nevím jestli je to možný způsob řešení nebo je struktura listu pevně dána a nelze s ní manipulovat. Pokud by to nebylo možné dej vědět, kód by se upravil.
► Zobrazit spoiler
- Přílohy
-
- tisk listu 2.xlsm
- (40.37 KiB) Staženo 54 x
- elninoslov
- Level 2.5
- Příspěvky: 369
- Registrován: červen 13
- Pohlaví:
- Stav:
Offline
Re: excel vba - tisk jen nekterych listu
Nepozeral som riešenie od kolegu, ale tu som urobil niečo ako nápad...
- Přílohy
-
- tisk listu 2.xlsm
- (51 KiB) Staženo 69 x
Re: excel vba - tisk jen nekterych listu
Díky za pomoc a nápady všem. Po malých úpravách jsem vše rozchodil jak jsem potřeboval
Re: excel vba - tisk jen nekterych listu
Ahoj,
potřebuji podobnou funkci, avšak k vytisknout chci jen zobrazené listy. Listů mám více, na základě daných pravidel uživatel otevře jen některé a ty vyplní. A právě pouze ty vyplněné a zobrazené potřebuji vytisknout. Ty skryté prázdné nikoliv, jak na to? Zaškrtávání a ruční výběr nepotřebuji, neboť listy budou tisknout uživatelé, ne já.
Děškuji
potřebuji podobnou funkci, avšak k vytisknout chci jen zobrazené listy. Listů mám více, na základě daných pravidel uživatel otevře jen některé a ty vyplní. A právě pouze ty vyplněné a zobrazené potřebuji vytisknout. Ty skryté prázdné nikoliv, jak na to? Zaškrtávání a ruční výběr nepotřebuji, neboť listy budou tisknout uživatelé, ne já.
Děškuji
Re: excel vba - tisk jen nekterych listu
Např. takto:
Kód: Vybrat vše
Option Explicit
Sub Tisk()
Dim List As Worksheet
Dim i As Long
Dim Sestava()
For Each List In ThisWorkbook.Worksheets
If List.Visible = True Then
ReDim Preserve Sestava(i)
Sestava(i) = List.Name
i = i + 1
End If
Next List
Sheets(Sestava).PrintPreview
Erase Sestava
End Sub
Re: excel vba - tisk jen nekterych listu
Díky, funguje skvěle. Ještě by mne zajímalo, jak omezit tisk listů které jsou sice aktivní, mají pevnou oblast tisku s opakováním záhlaví. Řekněme 30 řádek. Když uživatel vyplní 30 řádků, vytiskne se pouze první stránka listu, pokud 31 vytisknou se dvě stránky listu, 61 vytisknu se tři stránky, atd. Řádky na sebe navazují, tedy není mezi nimi mezera, (od určitého řádku od záhlaví). Je to zvyšující se číselný seznam 1až N, po 1. Napadá mne funkce zjištění řádku posledního textu, nebo nejvyšší hodnotu a pozici řádku. Dle toho pak tisknut, ale nevím jak to navázat na VBA. Ať bude seznam jak chce dlouhý, budou čísla řádků vždy odpovídat pořadí zvyšující se po 1. Nějaká rada?
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 2
- 331
-
od Myerina
Zobrazit poslední příspěvek
včera, 07:38
-
-
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
- 2031
-
od kalosek
Zobrazit poslední příspěvek
29 čer 2023 19:39
-
-
-
Co nejlevnejsi upgrade pocitace s pouzitim nekterych starsich dilu
od Dizzy66 » 23 kvě 2023 14:09 » v Rady s výběrem hw a sestavením PC - 3
- 593
-
od Zivan
Zobrazit poslední příspěvek
23 kvě 2023 21:36
-
-
- 4
- 1128
-
od Grander
Zobrazit poslední příspěvek
09 čer 2023 21:31
-
- 3
- 1158
-
od Dolpi
Zobrazit poslední příspěvek
25 led 2024 18:23
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti