Come inserire la data dell’ultimo salvataggio in una cella

Carla si chiede se esista una formula che può usare per inserire in una cella la data dell’ultimo salvataggio della cartella di lavoro. Anche se apre la cartella di lavoro ogni giorno, vuole solo che la data venga aggiornata ogni volta che sceglie di salvare.

Non esiste una formula per farlo; Excel non ne ha la capacità nativa. Puoi, tuttavia, creare una semplice macro che inserirà un valore di data in una cella ogni volta che salvi la cartella di lavoro. Questo si basa sull’evento BeforeSave, che appartiene all’oggetto ThisWorkbook:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Questa macro inserisce la data (in realtà, il valore restituito dalla funzione Now) nella cella A1 del primo foglio di lavoro della cartella di lavoro. Quella cella potrebbe essere formattata in Excel in qualsiasi formato desideri. C’è un potenziale svantaggio in questa macro: se usi Salva con nome (per salvare la cartella di lavoro con un nome diverso) e poi scegli di annullare il salvataggio, la data viene comunque aggiornata perché ha avuto luogo prima del salvataggio, ovvero, ha avuto luogo proprio mentre Excel stava iniziando a salvare la cartella di lavoro, non dopo che la cartella di lavoro è stata effettivamente salvata.

Personalmente preferirei vedere la data dell’ultima modifica nel foglio di calcolo anziché la data dell’ultimo salvataggio e aggiungendo un’istruzione if alla routine precedente, la data si aggiornerà solo se Excel ritiene che tu abbia apportato modifiche (il che non è infallibile).

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Va notato che Excel include anche un evento AfterSave che potresti essere tentato di utilizzare per aggiornare le informazioni. Sfortunatamente, ha anche alcune controindicazioni e non offre niente di più infallibile dell’evento BeforeSave.

Se preferisci, puoi utilizzare un approccio basato su macro leggermente diverso. Questo si basa su una normale macro, non su un gestore di eventi:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

All’interno di qualsiasi cella in cui desideri che appaia la data, chiamerai la macro in questo modo:

=LastModified()

 

La formula restituisce la data e l’ora in cui la cartella di lavoro è stata salvata l’ultima volta e puoi formattarla nel modo desiderato. Poiché la funzione è indicata come volatile, viene aggiornata continuamente ogni volta che il foglio di lavoro viene ricalcolato.

Tags: , , , , , , , , ,

Ti è stato utile?