Utilizzo di una formula in un piè di pagina (Microsoft Excel)
Skye ha tre celle importanti in un foglio di lavoro. Una cella contiene una data di inizio, la seconda contiene una data di fine e la terza contiene un totale per le transazioni tra quelle date. Vorrebbe avere un piè di pagina per la pagina stampata che incorpori questi tre dati, in modo dinamico. Si chiede se esiste un modo per inserire una formula nel piè di pagina in modo che possa riflettere questi valori.
Non esiste un modo integrato per eseguire questa operazione in Excel perché le formule non possono essere inserite nei piè di pagina; non sono riconosciute come formule dal programma.
Tuttavia, puoi utilizzare una macro per impostare il piè di pagina. Supponiamo, per il bene di questo approccio, che la tua data di inizio sia contenuta nella cella E1, la tua data di fine sia nella cella E2 e il totale delle transazioni sia nella cella E3. In tal caso, potresti usare una macro come questa:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim sTemp As String With Worksheets("Sheet1") ' Set wording for date range sTemp = .Range("E1").Text & " through " & .Range("E2").Text sTemp = sTemp & " (" & .Range("E3").Text & ")" .PageSetup.CenterFooter = sTemp End With End Sub
Ci sono alcune cose da notare in questa macro. Prima di tutto, la macro imposta solo le informazioni del piè di pagina nel foglio di lavoro denominato Sheet1, sebbene tu possa cambiare il nome di questo foglio di lavoro con quello che ti serve. In secondo luogo, si noti che la proprietà .Text viene utilizzata invece della proprietà .Value. In realtà ci sono tre modi per fare riferimento al contenuto delle celle, come mostrato qui:
sTemp = Worksheets("Sheet1").Range("E1") sTemp = Worksheets("Sheet1").Range("E1").Value sTemp = Worksheets("Sheet1").Range("E1").Text
I primi due approcci sono equivalenti; impostano sTemp uguale al contenuto della cella. Il terzo approccio è diverso; imposta sTemp uguale al testo formattato della cella. In altre parole, sTemp sarà uguale a tutto ciò che si trova nella cella E1, poiché è formattato nella cella. Poiché stai lavorando con date e somme, questo è l’approccio che desideri utilizzare, quindi è quello che è stato utilizzato nella macro.
Terzo, la macro finisce per impostare il piè di pagina nella variabile sTemp. Come scritto, la macro creerebbe un piè di pagina simile a questo:
1 Mar 2016 through 15 Mar 2016 ($1,234.56)
Anche in questo caso, l’aspetto effettivo dipende dalla formattazione nelle celle E1, E2 ed E3. La macro aggiunge la parola “attraverso” e mette le parentesi attorno alla somma delle transazioni. È possibile modificare questi elementi aggiuntivi direttamente all’interno della macro.
In quarto luogo, la macro assegna la stringa sTemp formattata (il piè di pagina) alla posizione centrale nel piè di pagina per il foglio di lavoro. Se preferisci che il piè di pagina sia altrove, puoi semplicemente modificare la proprietà .CenterFooter in .LeftFooter o .RightFooter.
Infine, devi essere consapevole che questa macro è progettata per essere aggiunta al modulo ThisWorkbook. Viene eseguito, automaticamente, appena prima della stampa della cartella di lavoro. Tuttavia, non viene attivato guardando il foglio di lavoro in Anteprima di stampa, quindi non puoi contare su ciò che potresti vedere prima di stampare effettivamente.
_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 (559) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.