Lori desidera che il lato destro del piè di pagina del foglio di lavoro includa la data dell’ultimo salvataggio della cartella di lavoro. Ogni volta che tenta di creare una formula per eseguire questa operazione, Excel visualizza un messaggio di errore che indica che “la stringa è troppo lunga” e che deve eliminare alcuni caratteri. Non è sicura di capire perché sta succedendo o come può ottenere la data che desidera a piè di pagina.

Non esiste una formula effettiva che possa inserire l’ultima data salvata in un piè di pagina.

Excel non ha modo (a differenza di Word) di inserire questo bocconcino di informazioni lì.

C’è un modo per farlo, ma la soluzione richiede l’uso di una macro. Il motivo è che stai accedendo alle informazioni di sistema, ovvero informazioni esterne a Excel stesso, e tali informazioni possono essere recuperate solo utilizzando un linguaggio di programmazione come VBA.

Un approccio consiste nell’aggiungere del codice che viene eseguito ogni volta che viene salvata una cartella di lavoro.

Il codice aggiorna il piè di pagina desiderato con la data corrente:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)



ActiveWorksheet.PageSetup.RightFooter = _       "Last Saved: " & Format(Date, "mmmm d, yyyy")

End Sub

Questa macro, che dovrebbe essere archiviata nell’oggetto ThisWorkbook per la cartella di lavoro che si desidera influenzare, aggiorna il piè di pagina per il foglio di lavoro attualmente attivo. Se vuoi influenzare tutti i fogli di lavoro in una cartella di lavoro, è necessaria una piccola modifica alla macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)

Dim sht As Worksheet

For Each sht In Sheets         sht.PageSetup.RightFooter = _           "Last Saved: " & Format(Date, "mmmm d, yyyy")

Next End Sub

Se oggi è il 12 dicembre 2011, dopo aver eseguito la macro (che viene eseguita automaticamente durante il salvataggio), i piè di pagina di destra saranno tutti impostati su “Ultimo salvataggio: 12 dicembre 2011”.

Puoi anche fare affidamento sulla data di salvataggio del file memorizzata nelle proprietà integrate di Excel. Il modo in cui inserisci quella data a piè di pagina è il seguente:

Sub RightFooterLastSaved()

ActiveSheet.PageSetup.RightFooter = _        ActiveWorkbook.BuiltinDocumentProperties(12)

End Sub

Lo svantaggio di questa macro è che devi ricordarti di eseguirla periodicamente, quindi non è così automatica come l’approccio precedente. Tuttavia, è possibile inserire la singola riga nel cuore della macro nel gestore di eventi Workbook_BeforePrint.

C’è un altro approccio che puoi usare. Questo implica la richiesta da Windows della data e dell’ora effettive di salvataggio di un file.

Private Sub Workbook_Open()

Dim sTemp As String     Dim sht As Worksheet

sTemp = FileDateTime(ActiveWorkbook.FullName)

sTemp = "Last Saved: " & sTemp     For Each sht In Sheets         sht.PageSetup.RightFooter = sTemp     Next sht End Sub

Questa macro è progettata per essere eseguita ogni volta che una cartella di lavoro viene aperta per la prima volta, viene salvata come procedura Workbook_Open dell’oggetto ThisWorkbook. Il cavallo di battaglia della macro è la riga che chiama la funzione FileDateTime.

Questa funzione può essere utilizzata per determinare la data e l’ora in cui è stato salvato il file. Richiede un nome percorso completo di un file, fornito dalla proprietà FullName dell’oggetto ActiveWorkbook. La data e l’ora vengono quindi inserite nel piè di pagina di destra di tutti i fogli di lavoro nella cartella di lavoro.

Ricorda inoltre che il limite di ciò che puoi inserire in ciascuna sezione dell’intestazione o del piè di pagina è di circa 250 caratteri. Quindi, se modifichi le macro per aggiungere più informazioni alla parte destra del piè di pagina, assicurati che non si aggiungano a tanti caratteri, altrimenti potresti avere problemi con la macro.

_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 (2190) 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: