Come inserire il timestamp in Excel quando la cella cambia (2 modi efficaci)

  • Condividi Questo
Hugh West

Questo articolo illustra come inserire un timestamp in excel quando una cella cambia. Può essere necessario tenere traccia degli inserimenti di dati nelle celle di una particolare colonna. Ad esempio, avete riservato la colonna B all'inserimento di dati. Ora volete che il timestamp venga inserito in una cella adiacente della colonna C quando una cella viene aggiornata nella colonna B. Questo articolo vi aiuterà a farlo in due modi efficaci.

Scarica il quaderno di esercizi

È possibile scaricare la cartella di lavoro pratica dal pulsante di download qui sotto.

Timestamp in Excel.xlsm

2 modi per inserire il timestamp in Excel quando la cella cambia

1. Usare le funzioni IF, AND, NOW e altre per inserire un orario in Excel

Seguite i passaggi seguenti per ottenere un timestamp usando le formule quando una cella cambia.

📌 Passi

  • Prima stampa ALT+F+T per aprire Opzioni di Excel Poi vai alla pagina Formule Successivamente, controllare la scheda Abilita il calcolo iterativo Quindi, impostare la casella di controllo Iterazioni massime a 1. Quindi, fare clic su OK.

  • Ora, inserite la seguente formula nella cella C5 Quindi, trascinare il campo Maniglia di riempimento per copiare la formula nelle celle sottostanti.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

  • Quindi, inserire la seguente formula nella cella D5 Trascinare quindi il punto Maniglia di riempimento alle celle sottostanti come in precedenza.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))

  • Ora, iniziate a inserire i valori nelle celle in colonna B Dopo di che, si otterrà il seguente risultato. Qui, colonna D È possibile nasconderla facendo clic con il pulsante destro del mouse dopo aver selezionato la colonna.

  • In alternativa, è possibile inserire la seguente formula nella cella C5 per ottenere lo stesso risultato.
=IF(B5"",IF(C5="",NOW(),C5),"")

  • Potrebbe essere necessario modificare la formattazione delle celle in colonna C Selezionare la colonna facendo clic sul numero della colonna in alto, quindi premere CTRL+1 per aprire il Formattare le celle A questo punto, fare clic sulla finestra di dialogo Personalizzato formato numerico. Quindi, immettere d-mmm-aaaa hh:mm:ss AM/PM nel Tipo Infine, fare clic su OK.

Ripartizione della formula:

Formula nella cella C5:

➤ IF(B5="","",C5))

Il Funzione IF non restituisce nulla se la cella B5 è vuoto, altrimenti restituisce lo stesso valore memorizzato in C5 .

➤ ORA()

Il Funzione NOW restituisce la data e l'ora correnti.

➤ E(B5"",D5B5)

Il Funzione AND ritorni VERO se entrambi gli argomenti sono veri, cioè la cella B5 non è vuoto e celle B5 e D5 non hanno lo stesso valore.

➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

Se il Funzione AND ritorni VERO , allora il Funzione IF restituisce la data e l'ora correnti ottenute dall'opzione Funzione NOW Altrimenti, restituisce il risultato ottenuto dall'argomento contenente il parametro Funzione IF .

Formula nella cella D5:

➤ ISNUMERO(D5)

Il Funzione ISNUMBER ritorni VERO se la cella D5 contiene un numero, altrimenti restituisce Falso .

➤ E(ISNUMBER(D5),B5=D5)

Il Funzione AND ritorni VERO se la cella D5 contiene un numero e delle celle B5 e D5 hanno lo stesso valore e restituisce FALSO altrimenti.

➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))

Il Funzione OR ritorni VERO se uno qualsiasi degli argomenti è vero, cioè la cella C5 è vuoto o il campo Funzione AND ritorni VERO . restituisce FALSO se tutti gli argomenti sono falsi.

➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)

Il Funzione IF restituisce lo stesso valore memorizzato nella cella D5 se il Funzione OR ritorni VERO Altrimenti, restituisce il valore della cella B5 .

➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))

Il Funzione IF non restituisce nulla se la cella B5 Altrimenti, restituisce il risultato ottenuto dall'argomento contenente il parametro Funzione IF .

Per saperne di più: Come inserire il timestamp di Excel quando la cella cambia senza VBA (3 modi)

Letture simili

  • Come inserire una data statica in Excel (4 semplici metodi)
  • Excel VBA: inserimento del timestamp quando viene eseguita una macro
  • Come inserire il timbro della data di Excel quando le celle della riga vengono modificate
  • Convertire un timestamp Unix in una data in Excel (3 metodi)

2. Applicare il codice VBA per inserire il timestamp in Excel quando la cella cambia

È anche possibile ottenere un timestamp in Excel quando una cella cambia utilizzando VBA. Seguite i passaggi seguenti per poterlo fare.

📌 Passi

  • Innanzitutto, fare clic con il pulsante destro del mouse sulla scheda del foglio di lavoro di destinazione, quindi selezionare Codice Si aprirà il modulo del codice per quel particolare foglio di lavoro.

  • Quindi, copiare il codice seguente utilizzando il pulsante di copia nell'angolo in alto a destra.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim CellCol, TimeCol, Row, Col As Integer Dim DpRng, Rng As Range CellCol = 2 TimeCol = 3 Row = Target.Row Col = Target.Column If Row <= 4 Then Exit Sub Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM") If Target.Text "" Then If Col = CellCol Then Cells(Row, TimeCol) = Timestamp Else On Error Resume Next Set DpRng = Target.Dependents ForEach Rng In DpRng If Rng.Column = CellCol Then Cells(Rng.Row, TimeCol) = Timestamp End If Next End If End Sub 
  • Successivamente, incollare il codice copiato nel modulo vuoto, come mostrato di seguito.

  • Successivamente, salvare il documento come cartella di lavoro abilitata alle macro Ora iniziate a inserire i dati nelle celle della colonna B. Otterrete così gli stessi risultati di prima.

Spiegazione del codice VBA:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim CellCol, TimeCol, Row, Col come interi

Dim DpRng, Rng come intervallo

Dichiarare le variabili necessarie.

CellCol = 2

Colonna di inserimento dati.

TimeCol = 3

Colonna Timestamp.

Riga = Obiettivo.Riga

Col = Colonna.Target

Memorizza i numeri di riga e di colonna della cella selezionata.

Se Riga <= 4 Allora Esci da Sub

Qualsiasi modifica nelle prime 4 righe non creerà un timestamp.

Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM")

Il timestamp sarà formattato in questo modo. Modificatelo come richiesto.

Se Target.Text "" allora

Se Col = CellCol Allora

Cells(Row, TimeCol) = Timestamp

Crea un timestamp se la cella selezionata è vuota.

In caso di errore, riprende il prossimo

Ignora qualsiasi errore se si verifica.

Imposta DpRng = Target.Dependents

Per ogni Rng in DpRng

Se Rng.Column = CellCol Allora

Cells(Rng.Row, TimeCol) = Timestamp

Crea i timestamp per un intervallo di celle se non è vuoto.

Per saperne di più: Come inserire automaticamente voci di dati temporali in Excel (5 metodi)

Cose da ricordare

  • È necessario utilizzare un formato personalizzato per le celle della colonna B per ottenere un orario formattato correttamente.
  • La formula alternativa funziona solo quando i dati sono inseriti in celle vuote.
  • In questo caso, l'inserimento dei dati e la colonna del timestamp sono codificati in modo rigido nel codice VBA. È necessario modificare il codice in base al proprio set di dati.

Conclusione

Ora sapete come datare il tempo in Excel quando una cella cambia. Avete altre domande o suggerimenti? Utilizzate la sezione dei commenti qui sotto. Potete anche visitare il nostro sito ExcelWIKI Rimanete con noi e continuate a imparare.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.