Innehållsförteckning
Den här artikeln visar hur du kan tidsstämpla i Excel när en cell ändras. Du kan behöva hålla reda på datainmatningar i cellerna i en viss kolumn. Du har till exempel reserverat kolumn B för att mata in data. Nu vill du ha tidsstämpeln i en intilliggande cell i kolumn C när en cell uppdateras i kolumn B. Den här artikeln hjälper dig att göra det på två effektiva sätt.
Ladda ner övningsboken
Du kan ladda ner arbetsboken från nedladdningsknappen nedan.
Tidsstämpel i Excel.xlsm2 sätt att infoga tidsstämpel i Excel när cellen ändras
1. Använd IF, AND, NOW och andra funktioner för att infoga tidsstämpel i Excel
Följ stegen nedan för att få fram en tidsstämpel med hjälp av formler när en cell ändras.
📌 Steg
- Första tryckning ALT+F+T för att öppna Excel-alternativ Gå sedan till Formler fliken. Kontrollera sedan Aktivera iterativ beräkning och sedan anger du Högsta antal iterationer till 1. Klicka sedan på OK.
- Ange nu följande formel i cellen C5 Dra sedan i Handtag för fyllning för att kopiera formeln till cellerna nedan.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
- Ange sedan följande formel i cell D5 Dra sedan i Handtag för fyllning ikonen till cellerna nedan som tidigare.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))
- Börja nu skriva in värden i cellerna i kolumn B Därefter får du följande resultat: Här, kolumn D är en hjälpkolumn. Du kan dölja den genom att högerklicka när du har valt kolumnen.
- Alternativt kan du bara skriva in följande formel i cellen C5 för att få samma resultat.
=IF(B5"",IF(C5="",NOW(),C5),"")
- Du kan behöva ändra formateringen av cellerna i kolumn C Välj kolumn genom att klicka på kolumnnumret överst. Tryck sedan på CTRL+1 för att öppna Formatera celler dialogrutan. Klicka nu på Anpassad nummerformat. Ange sedan d-mmm-yyyy hh:mm:ss AM/PM i den Typ fältet. Klicka slutligen på OK.
Uppdelning av formlerna:
Formel i cell C5:
➤ IF(B5="","",C5))
IF-funktion returnerar ingenting om cellen B5 är tom. I annat fall återges samma värde som finns lagrat i C5 .
➤ NOW()
NOW-funktion återger det aktuella datumet och den aktuella tiden.
➤ OCH(B5"",D5B5)
AND-funktion returnerar TRUE om båda argumenten är sanna, dvs. cell B5 är inte tom. och celler B5 och D5 har inte samma värde.
➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
Om den AND-funktion returnerar TRUE , då är det IF-funktion återger det aktuella datumet och den aktuella tiden från NOW-funktion I annat fall returneras det resultat som erhållits från det argument som innehåller IF-funktion .
Formel i cell D5:
➤ ISNUMMER(D5)
ISNUMBER-funktionen returnerar TRUE om cellen D5 innehåller ett tal. Annars returneras Falskt .
➤ AND(ISNUMBER(D5),B5=D5)
AND-funktion returnerar TRUE om cellen D5 innehåller ett nummer och celler B5 och D5 har samma värde. Den returnerar FALSK annars.
➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))
OR-funktion returnerar TRUE om något av argumenten är sant, dvs. cell C5 är tom eller om AND-funktion returnerar TRUE . Den returnerar FALSK om alla argument är falska.
➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)
IF-funktion returnerar samma värde som lagrats i cellen D5 om den OR-funktion returnerar TRUE I annat fall återges värdet för cell B5 .
➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)))
IF-funktion returnerar ingenting om cellen B5 är tom. I annat fall returneras det resultat som erhållits från argumentet som innehåller IF-funktion .
Läs mer: Hur du infogar Excel-tidsstämpel när cellen ändras utan VBA (3 sätt)
Liknande läsningar
- Hur man infogar statiska datum i Excel (4 enkla metoder)
- Excel VBA: Infoga tidsstämpel när ett makro körs
- Hur man infogar Excel-datumstämpel när celler i raden ändras
- Konvertera Unix-tidsstämpel till datum i Excel (3 metoder)
2. Tillämpa VBA-kod för att infoga tidsstämpel i Excel när cellen ändras
Du kan också få en tidsstämpel i Excel när en cell ändras med hjälp av VBA. Följ stegen nedan för att göra det.
📌 Steg
- Högerklicka först på fliken målarbetsbladet. Välj sedan Visa kod Detta öppnar kodmodulen för det aktuella arbetsbladet.
- Kopiera sedan följande kod med hjälp av kopieringsknappen i det övre högra hörnet.
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 If End If End Sub
- Därefter klistrar du in den kopierade koden i den tomma modulen som visas nedan.
- Därefter sparar du dokumentet som en arbetsbok med makroaktiverad arbetsbok Börja nu skriva in data i cellerna i kolumn B. Du får samma resultat som tidigare.
VBA-kodförklaring:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellCol, TimeCol, Row, Col As Integer
Dim DpRng, Rng som intervall
Ange nödvändiga variabler.
CellCol = 2
Kolumn för inmatning av data.
TimeCol = 3
Kolumn för tidsstämpel.
Row = Target.Row
Col = Target.Column
Lagrar rad- och kolumnnumren för den valda cellen.
Om Row <= 4 avslutar du Sub
Alla ändringar inom de fyra översta raderna skapar ingen tidsstämpel.
Tidsstämpel = Format(Now, "DD-MM-YYYYY HH:MM:SS AM/PM")
Tidsstämpeln kommer att formateras på detta sätt. Ändra den vid behov.
Om Target.Text "" då
Om Col = CellCol Då
Cells(Row, TimeCol) = Tidsstämpel
Skapa en tidsstämpel om den valda cellen är tom.
Vid fel Fortsätt nästa
Ignorerar eventuella fel.
Set DpRng = Target.Dependents
För varje Rng i DpRng
Om Rng.Column = CellCol
Celler(Rng.Row, TimeCol) = Tidsstämpel
Skapa tidsstämplar för ett antal celler om de inte är tomma.
Läs mer: Hur du automatiskt infogar tidsstämpeluppgifter i Excel (5 metoder)
Saker att komma ihåg
- Du måste använda ett eget format för cellerna i kolumn B för att få en korrekt formaterad tidsstämpel.
- Den alternativa formeln fungerar bara när data skrivs in i tomma celler.
- Här är datainmatningen och kolumnen för tidsstämpel hårt kodade i VBA-koden. Du måste ändra koden utifrån ditt dataset.
Slutsats
Nu vet du hur du kan tidsstämpla i Excel när en cell ändras. Har du några ytterligare frågor eller förslag? Använd kommentarsfältet nedan för det. Du kan också besöka vår ExcelWIKI bloggen för att utforska mer om excel. Följ med oss och fortsätt att lära dig.