Una delle lamentele di lunga data su Excel è che non dispone di un metodo molto affidabile per creare e gestire intestazioni e piè di pagina.

Considera il seguente scenario: vuoi stampare il tuo foglio di lavoro, ma hai solo i numeri di pagina che iniziano nella seconda pagina.

Non esiste un metodo intrinseco in Excel per gestire questa situazione. Ci sono alcune soluzioni alternative; ad esempio, potresti mettere la tua prima pagina su un foglio di lavoro (senza intestazioni o piè di pagina) e le pagine successive su un foglio di lavoro diverso (che include intestazioni e piè di pagina). È quindi possibile stampare i due fogli di lavoro in un unico passaggio e raggiungere efficacemente il proprio obiettivo.

Se è installato Report Manager, è possibile utilizzarlo per mettere insieme diversi report in base alle informazioni nel foglio di lavoro.

L’uso del Report Manager è stato trattato in altri problemi di ExcelTips. Il componente aggiuntivo Report Manager è stato distribuito l’ultima volta con Excel 2002, ma è ancora possibile utilizzarlo in Excel 2003.

Tuttavia, nessuno di questi approcci funziona per tutte le situazioni. Ad esempio, potresti non essere in grado di dividere la tua stampa in più fogli di lavoro o potresti non avere molta esperienza con il Report Manager (o non vuoi scaricarlo e installarlo). Se preferisci, puoi creare una macro che stamperà il tuo foglio di lavoro come desideri.

La seguente macro, GoodPrint, stamperà la prima pagina di un foglio di lavoro senza intestazioni o piè di pagina e quindi tutte le pagine successive normalmente.

Sub GoodPrint()

Dim hlft As String     Dim hctr As String     Dim hrgt As String     Dim flft As String     Dim fctr As String     Dim frgt As String

'save current header     hlft = ActiveSheet.PageSetup.LeftHeader     hctr = ActiveSheet.PageSetup.CenterHeader     hrgt = ActiveSheet.PageSetup.RightHeader

'save current footer     flft = ActiveSheet.PageSetup.LeftFooter     fctr = ActiveSheet.PageSetup.CenterFooter     frgt = ActiveSheet.PageSetup.RightFooter

'remove header and footer     With ActiveSheet.PageSetup         .CenterHeader = ""

.RightHeader = ""

.LeftHeader = ""

.CenterFooter = ""

.RightFooter = ""

.LeftFooter = ""

End With

'print page one     ActiveSheet.PrintOut 1, 1

'restore header and footer     With ActiveSheet.PageSetup         .LeftHeader = hlft         .CenterHeader = hctr         .RightHeader = hrgt         .LeftFooter = flft         .CenterFooter = fctr         .RightFooter = frgt     End With

'print the rest of the pages     ActiveSheet.PrintOut 2 End Sub

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2189) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: