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 42 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 74 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 29 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 62 x
- elninoslov
- Level 2.5
- Příspěvky: 386
- 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 74 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
-
- 5
- 3999
-
od atari
Zobrazit poslední příspěvek
26 dub 2025 09:11
-
-
EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw) - 2
- 4913
-
od Riviera kid
Zobrazit poslední příspěvek
02 zář 2024 16:21
-
-
-
Pomoc při výběru některých komponentů - nový PC 50-70 tisíc Příloha(y)
od Overlord » 12 bře 2025 01:26 » v Rady s výběrem hw a sestavením PC - 5
- 6268
-
od Overlord
Zobrazit poslední příspěvek
14 bře 2025 11:54
-
-
- 9
- 4263
-
od zeus
Zobrazit poslední příspěvek
10 dub 2025 23:23
-
- 2
- 12323
-
od Snekment
Zobrazit poslední příspěvek
29 led 2025 15:05
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host