ho creato una macro per stampare i solo alcuni fogli del mio file
partendo da alcune celle presenti nel foglio di riepilogo: ho 4 fogli
con nomi diversi di cui uno deve essere sempre stampato(riepilogo),
l'utente sceglie su una checkbox l'opzione che gli interessa e vorrei
stampare il foglio di riepilogo(appunto) e quello relativo alla scelta
fatta.
Vorrei inserire nell'intestazione di ogni foglio una variabile
inserita in precedenza e memorizzata in una cella.
Questo è il codice che ho usato (sono ancora alle prime armi e forse
non è il massimo ma funziona)
Sub AnteprimaTutto()
titolo=range(a1) 'titolo del progeto
denominazione=range(a2) 'persona che presenta il progetto
if variabile(1)=1 then
a = "Foglio 1"
else a="riepilogo"
end if
if variabile(2)=1 then
b = "foglioB"
else b="riepilogo"
end if
if variabile(3)=1 then
c = "palla"
else c="riepilogo"
end if
Sheets(Array("riepilogo",a,b,c).Select
With ActiveSheet.PageSetup
.LeftHeader = "Riepilogo del progetto " & Titolo & " presentato da
" & Denominazione
End With
ActiveWindow.SelectedSheets.PrintPreview
end sub
Finora l'intestazione è presente solo nel primo foglio. è possibile
estendere l'intestazione a tutti i fogli?
Vi ringrazio
Anto
non agisci sulla intestazione di tutti i fogli ma solo su quello
attivo devi referenziare i fogli
con qualcosa tipo:
Dim sh_a As Worksheet
' foglio 1
Set sh_a = Worksheets("Foglio1")
With sh_a.PageSetUp
'segue codice impostazione intestazione
End With
Ciao Elio
non ho tempo di riprodurre un esempio ... però credo che un ciclo for
each su ActiveWindow.SelectedSheets potrebbe andare ...
tipo:
dim sh as worksheet
for each sh in ActiveWindow.SelectedSheets
with sh.pagesetup
.LeftHeader = "Riepilogo del progetto " & Titolo & _
" presentato da" & Denominazione
end With
next
ottima l'idea per il select dei fogli ... ricordo d'aver provato:
worksheets(v)
dove in v ho provato a metterci di ogni (matrici vettori di variant e
di string... ) e mai ha funzionato ... con array (che poi è quello che
si legge dal registratore di macro) invece funziona, eppure
restituisce un vettore di variant ... confesso che è una cosa che mi
ha fatto diventare matto ...
dicevo l'idea di usare Sheets(Array("riepilogo",a,b,c) dove a,b,c
possono essere "riepilogo" mi sembra ottima ... non conosco altri modi
di eseguire il select di più fogli ... accipicchia ora avrei voglia di
tentare nuovamente ... ma non ho proprio tempo.
saluti
r