Come registrare automaticamente la data e l'ora quando la cella cambia?
È facile per noi inserire manualmente data e ora statiche o inserire una data dinamica che cambia con l'ora di sistema con una formula. Se si desidera registrare automaticamente la data e l'ora quando si modificano o si immettono valori, questo problema potrebbe essere leggermente diverso da affrontare. Ma, in questo articolo, puoi risolvere questa attività con i seguenti passaggi.
Registra automaticamente la data e l'ora quando la cella cambia con il codice VBA
Registra automaticamente la data e l'ora quando la cella cambia con il codice VBA
Ad esempio, ho un intervallo di valori e ora, quando cambio o digito nuovi valori nella colonna B, voglio che la data e l'ora correnti vengano registrate automaticamente nella colonna C come mostrato nella seguente schermata:
È possibile completare questa attività con il seguente codice VBA. Per favore, fai come segue:
1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.
2. Quindi scegli il foglio di lavoro usato da sinistra Esplora progetti, fare doppio clic per aprire il file Moduli, quindi copia e incolla il seguente codice VBA nel modulo vuoto:
Codice VBA: registra automaticamente la data e l'ora quando la 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. Quindi salva e chiudi questo codice per tornare al foglio di lavoro, ora quando modifichi il valore della cella o digiti nuovi dati nella colonna B, la data e l'ora verranno registrate automaticamente nella colonna C.
Note:
1. Nel codice sopra, puoi modificare il "B: B"A qualsiasi altra colonna in cui desideri modificare i valori delle celle in questo script: Set WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. Con questo xColonnaOffset = 1 script, puoi inserire e aggiornare la data e l'ora nella prima colonna accanto alla colonna del valore che cambia, puoi cambiare il numero 1 con altri numeri, come 2,3,4,5 ... ciò significa che la data verrà inserita nel seconda, terza, quarta o quinta colonna oltre alla colonna dei valori modificati.
3. Quando si elimina un valore nella colonna modificata, verranno rimosse anche la data e l'ora.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze in Excel con Kutools for Excele sperimenta l'efficienza come mai prima d'ora. Kutools for Excel Offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic 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 della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!













