Skip to main content

Come registrare automaticamente la data e l'ora quando una cella cambia?

Author: Xiaoyang Last Modified: 2025-05-29

È facile per noi inserire manualmente una data e un orario statici o inserire una data dinamica che cambia con l'orario di sistema utilizzando una formula. Se desideri registrare automaticamente la data e l'ora quando modifichi o inserisci valori, questo problema potrebbe essere un po' diverso da gestire. Tuttavia, in questo articolo, puoi risolvere questa attività seguendo i passaggi indicati.

Registra automaticamente la data e l'ora quando una cella cambia con il codice VBA


Registra automaticamente la data e l'ora quando una cella cambia con il codice VBA

Ad esempio, ho un intervallo di valori, e ora, quando modifico o digito nuovi valori nella Colonna B, voglio che venga registrata automaticamente la data e l'ora correnti nella Colonna C come mostrato nello screenshot seguente:

screenshot of result

Puoi completare questa attività con il seguente codice VBA. Procedi come segue:

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Quindi scegli il foglio di lavoro utilizzato dal riquadro Esplora progetti a sinistra, fai doppio clic su di esso per aprire il Modulo, quindi copia e incolla il seguente codice VBA nel Modulo vuoto:

Codice VBA: Registra automaticamente la data e l'ora quando una cella cambia

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
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

screenshot of using VBA code

3. Salva e chiudi quindi questo codice per tornare al foglio di lavoro; ora, quando cambi il valore della cella o inserisci nuovi dati nella Colonna B, la data e l'ora verranno registrate automaticamente nella Colonna C.

Note:

1. Nel codice sopra, puoi modificare “B:B” in qualsiasi altra colonna in cui desideri cambiare i valori delle celle in questo script: Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target).

2. Con lo script xOffsetColumn = 1 , puoi inserire e aggiornare la data e l'ora nella prima colonna accanto alla colonna del valore che stai modificando; puoi cambiare il numero 1 con altri numeri, come 2, 3, 4, 5… il che significa che la data verrà inserita nella seconda, terza, quarta o quinta colonna accanto alla colonna dei valori modificati.

3. Quando elimini un valore nella colonna modificata, anche la data e l'ora verranno rimosse.


I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!