Come registrare automaticamente la data e l'ora quando una cella cambia?
È 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:
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
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
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!