Hur registrerar jag datum och tid automatiskt när cellen ändras?
Det är lätt för oss att infoga statiskt datum och tid manuellt eller infoga ett dynamiskt datum som ändras med systemtiden med en formel. Om du vill registrera datum och tid automatiskt när du ändrar eller anger värden kan det här problemet vara något annorlunda att hantera. Men i den här artikeln kan du lösa denna uppgift med följande steg.
Spela in datum och tid automatiskt när cellen ändras med VBA-kod
Spela in datum och tid automatiskt när cellen ändras med VBA-kod
Till exempel har jag ett antal värden, och nu, när jag ändrar eller skriver nya värden i kolumn B, vill jag att det automatiskt registrerar aktuellt datum och tid i kolumn C som följande skärmdump som visas:
Du kan avsluta den här uppgiften med följande VBA-kod. Gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.
2. Välj sedan ditt använda kalkylblad från vänster Project Explorerdubbelklicka på den för att öppna Modulerna, och kopiera och klistra sedan in följande VBA-kod i den tomma modulen:
VBA-kod: Spela in datum och tid automatiskt när cellen ändras
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. Spara och stäng sedan den här koden för att återgå till kalkylbladet, nu när du ändrar cellvärdet eller skriver in nya data i kolumn B kommer datum och tid att registreras automatiskt i kolumn C.
Anmärkningar:
1. I koden ovan kan du ändra “B: B”Till någon annan kolumn som du vill ändra cellvärdena i detta skript: Ställ WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. Med detta xOffsetColumn = 1 skript kan du infoga och uppdatera datum och tid till den första kolumnen bredvid din kolumn med ändringsvärde, du kan ändra nummer 1 till andra nummer, till exempel 2,3,4,5 ... det betyder att datumet kommer att infogas andra, tredje, fjärde eller femte kolumnen förutom kolumnen ändrade värden.
3. När du tar bort ett värde i den ändrade kolumnen tas även datum och tid bort.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!