Vytisknout stránku | Zavřít okno

OT - Office, Excel, listy

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=7058
Datum vytištění: 11.čer.2026 v 06:55


Téma: OT - Office, Excel, listy
Odeslal: Rostislav Říha
Předmět: OT - Office, Excel, listy
Datum odeslání: 24.srp.2008 v 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
 


-------------
Rostislav Říha



Odpovědi:
Odeslal: Radim Cech
Datum odeslání: 24.srp.2008 v 23:34

A co tak vybrat všechny listy najednou a změnit jim záhlaví a zápatí!



-------------
R.C.

OSTRAVA


Odeslal: Rostislav Říha
Datum odeslání: 24.srp.2008 v 23:44
Původně odeslal(a) Radim Cech Radim Cech napsal(a):

A co tak vybrat všechny listy najednou a změnit jim záhlaví a zápatí!

 
...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:)


-------------
Rostislav Říha


Odeslal: Seiner
Datum odeslání: 25.srp.2008 v 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)


-------------
Vítězslav Seiner

Chrudim


Odeslal: Seiner
Datum odeslání: 25.srp.2008 v 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


-------------
Vítězslav Seiner

Chrudim


Odeslal: PepaR
Datum odeslání: 26.srp.2008 v 00:55
Zkusil bych se zeptat zde: http://excelplus.net" rel="nofollow - http://excelplus.net , téměř vždy mi tam poradili.

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz



Vytisknout stránku | Zavřít okno