Zobrazit plnou verzi příspěvku: OT - Office, Excel, listy

Rostislav Říha
24.08.2008, 22:12
DD,
zase s tím otravuju tady, ničeho lepšího nemaje - ale určitě to taky řešíte... máte v Excelu soubor, v něm spoustu listů a podobně, jako v autocadu, i tady řešíte cosi jako rohové razítko: jednotné záhlaví, zápatí...listy jste (protože jste pořádní) založili na jednotné šabloně, takže všechny mají ta záhlaví a zápatí jednotná, s Vaším logem, názvem listu, projektu atd...no, a teď se to stalo: potřebujete ve všech listech v tom záhlaví něco přidat...já to zatím umím jen manuálně list po listu a hrozně mne to štve.
Zatím jsem se progoogloval k makru, které umí udělat všechna zápatí jednotně, ale pouze tak, jak je to napsáno v makru - takže bych musel vždy pro tu konkrétní úpravu to makro měnit, což je nepraktické a hlavně to vůbec není WYSIWYG...
Prosím, neumíte někdo to makro (přikládám) upravit tak, aby všechna záhlaví a zápatí upravila tak, aby obsahovala to, co je v záhlaví a zápatí aktivního listu? (Logika je: v jednom listu nastavím vše, co potřebuji, a pomocí makra to rozkopíruji do všech ostatních...)
Makro přikládám a děkuji předem za pomoc
rr
 
    Dim s As Worksheet    Application.ScreenUpdating = False    For Each s In ActiveWorkbook.Worksheets    With s.PageSetup.CenterHeaderPicture    .FileName = "Y:\Rh-Procedures\Rh-arch-transp.gif"    End With    With s.PageSetup.CenterHeaderPicture        .Height = 28.5        .Width = 28.5    End With    With s.PageSetup        .LeftHeader = (Application.ActiveWorkbook.BuiltinDocumentProperties.Item("Title")) & Chr(10) & (Application.ActiveWorkbook.BuiltinDocumentProperties.Item("Subject"))        .CenterHeader = "&G "        .RightHeader = "&""Tahoma,Tučné""&16&A"        .LeftFooter = "&F"        .CenterFooter = "Strana &P z &N"        .RightFooter = "Vytištěno &D v &T"    End With    Next s     Application.ScreenUpdating = True
 

Radim Cech
24.08.2008, 23:34
A co tak vybrat všechny listy najednou a změnit jim záhlaví a zápatí!

Rostislav Říha
24.08.2008, 23:44
[QUOTE=Radim Cech]
A co tak vybrat všechny listy najednou a změnit jim záhlaví a zápatí![/QUOTE]
 
...jak jednoduché, milý Watsone:) ...děkuji.
 
nicméně, chybku to má - v některém listu tisknu oblast, v jiném mám při tisku zvětšení, jeden je nastojato a jiný naplacato -- a to se mi při této proceduře rozbilo...ale určitě na to taky existuje jednoduchá finta:)

Seiner
25.08.2008, 08:07
Když už to chcete řešit tímto způsobem, pak bych si asi na prvním listu udělal mimo tisknutou oblas tabuličku toho, to chcete v záhlaví a zápatí mít a tlačítko na spuštění makra. Použijte to svoje makro jako událost na kliknutí na tlačítko, akorát místo pevných textů uveďte odkazy na buňky té tabuličky. Asi nějak takto:
       
        Range("K7").Select        .RightFooter = ActiveCell.FormulaR1C1
 
(možná by se to dalo napojit na nějakou jinou událost, aby uživatel nezapomněl na tlačítko kliknout)Seiner2008-08-26 06:58:25

Seiner
25.08.2008, 08:28
Pokud byste opravdu chtěl přenášet nastavení z prvního listu na ostatní, musel byste si ještě před tím cyklem (For Each...) ukládat jednotlivá nastavení do proměnných a pak je používat. Uložení třeba dolní střední hodnoty je asi takto:
With ActiveWorkbook.Worksheets(1)     DolniStred = .PageSetup.CenterFooter End With
 
a použití hodnoty
 
.CenterFooter=DolniStred

PepaR
26.08.2008, 00:55
Zkusil bych se zeptat zde: http://excelplus.net, téměř vždy mi tam poradili.