Come registrare automaticamente data e ora ogni volta che una cella viene modificata?
Nel lavoro quotidiano con Excel, inserire manualmente valori statici di data e ora è semplice, così come usare formule per visualizzare una data dinamica che si aggiorna automaticamente in base all’orologio di sistema. Tuttavia, se l’obiettivo è registrare automaticamente la data e l’ora esatte ogni volta che una cella viene modificata o aggiornata—ovvero creare un timestamp delle modifiche—è necessario ricorrere a un approccio diverso. I timestamp automatici sono particolarmente utili per tracciare le modifiche nei log dei dati, monitorare gli aggiornamenti nei fogli di gestione ordini o registrare input in fogli di calcolo collaborativi a fini di audit. Anche se Excel non offre una funzione integrata specifica per generare timestamp al variare dei valori delle celle, esistono diverse soluzioni efficaci. In questo articolo scoprirete una serie di metodi—dal codice VBA a tecniche basate su formule avanzate—per ottenere un timestamp automatico di data e ora ogni volta che il contenuto di una cella cambia.
Registrare automaticamente data e ora al cambiamento di una cella con codice VBA
Registrare automaticamente data e ora al cambiamento di una cella con codice VBA
Immagina di avere una tabella di valori in cui devi registrare automaticamente ogni aggiornamento non appena avviene. Ad esempio, data e ora correnti dovrebbero comparire istantaneamente nella colonna C ogni volta che un valore nella colonna B viene modificato o inserito per la prima volta. Questa funzionalità è essenziale nei registri presenze, nei log di inventario o in qualsiasi flusso di lavoro in cui il timestamp delle modifiche è cruciale per tracciare la cronologia, garantire responsabilità o soddisfare obblighi normativi.

Per automatizzare questo tipo di registrazione, puoi utilizzare una semplice macro VBA personalizzata per il tuo foglio di lavoro. A differenza dell’inserimento manuale del timestamp, questo metodo basato su VBA garantisce che il record venga catturato ogni volta che apporti una modifica, riducendo il lavoro manuale e minimizzando gli errori da omissione. Tieni presente, tuttavia, che le soluzioni VBA richiedono che tu abbia abilitato le macro e salvato il file in un formato compatibile con le macro ().xlsm), e che il codice VBA funzioni solo negli ambienti in cui le macro sono consentite.
Seguire questi passaggi per implementare la funzionalità di timestamp automatico utilizzando il codice VBA:
1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Nella finestra VBA, seleziona il foglio di lavoro desiderato dall’Esplora progetti a sinistra. Fai doppio clic sul foglio per aprire la relativa finestra del codice, quindi copia e incolla il seguente codice VBA nell’area vuota del modulo:
Codice VBA: Registrare automaticamente data e ora al cambiamento di una cella
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20250722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub

3. Dopo aver inserito il codice, salvate le modifiche e chiudete l’editor VBA. Tornate al foglio di lavoro di Excel: da ora in poi, ogni volta che modificherete o inserirete nuovi dati in una cella della colonna B, la cella adiacente nella colonna C verrà aggiornata automaticamente con la data e l’ora correnti.
Note e suggerimenti:
- Personalizza la colonna: Puoi regolare la colonna in cui vengono monitorate le modifiche semplicemente modificando la riga Set WorkRng = Intersect(Application.ActiveSheet.Range(«B:B»), Target)nello script. Ad esempio, sostituisci «B:B» con un'altra colonna in base alle tue esigenze.
- Spiegazione dello scostamento di colonna: La riga xOffsetColumn = 1 determina in quale colonna verrà inserito il valore data/ora. Modificando questo numero, il timestamp verrà posizionato più a destra rispetto alla colonna dei valori modificati (ad esempio, 2 per due colonne di distanza, 3 per tre colonne e così via).
- Comportamento in caso di eliminazione: Se un valore viene eliminato nella colonna monitorata, il timestamp corrispondente nella cella adiacente verrà rimosso automaticamente.
- Evita gli errori:assicurati di salvare la cartella di lavoro in un formato abilitato alle macro ()
.xlsm) e ricorda di abilitare le macro all'apertura del file per garantire il corretto funzionamento del timestamp automatico. - Promemoria sulla compatibilità: Le soluzioni VBA potrebbero non funzionare come previsto se le macro sono disabilitate o su alcune piattaforme cloud di Excel (ad esempio Excel per il Web).
Questo metodo è estremamente affidabile per la maggior parte degli utenti desktop di Excel ed è particolarmente indicato per dataset di dimensioni moderate, dove è fondamentale mantenere una traccia di controllo. Se hai bisogno di timestamp gestiti in modo più formula-driven o accessibili senza ricorrere alle macro, ti consigliamo di valutare gli approcci illustrati di seguito.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi