Hvordan registreres dato og tid automatisk, når cellen ændres?
Det er let for os at indsætte statisk dato og klokkeslæt manuelt eller indsætte en dynamisk dato, der ændres med systemtiden med en formel. Hvis du automatisk vil registrere dato og klokkeslæt, når du ændrer eller indtaster værdier, kan dette problem være noget andet at håndtere. Men i denne artikel kan du løse denne opgave med følgende trin.
Optag dato og klokkeslæt automatisk, når cellen ændres med VBA-kode
Optag dato og klokkeslæt automatisk, når cellen ændres med VBA-kode
For eksempel har jeg en række værdier, og når jeg ændrer eller skriver nye værdier i kolonne B, vil jeg nu, at der automatisk registreres den aktuelle dato og tid i kolonne C som følgende skærmbillede vist:
Du kan afslutte denne opgave med følgende VBA-kode. Gør som dette:
1. Hold nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.
2. Vælg derefter dit brugte regneark fra venstre Projekt Explorer, dobbeltklik på den for at åbne Moduler, og kopier og indsæt derefter følgende VBA-kode i det tomme modul:
VBA-kode: Optag dato og tid automatisk, når cellen ændres
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. Gem derefter og luk denne kode for at vende tilbage til regnearket, nu når du ændrer celleværdien eller skriver nye data i kolonne B, registreres dato og klokkeslæt automatisk i kolonne C.
Bemærkninger:
1. I ovenstående kode kan du ændre “B: B”Til enhver anden kolonne, som du vil ændre celleværdierne i dette script: Indstil WorkRng = Skær (Application.ActiveSheet.Range ("B: B"), mål).
2. Med dette xOffsetColumn = 1 script, kan du indsætte og opdatere dato og klokkeslæt til den første kolonne ved siden af din ændrede værdikolonne, du kan ændre nummer 1 til andre tal, såsom 2,3,4,5 ... det betyder, at datoen indsættes anden, tredje, fjerde eller femte kolonne udover din ændrede værdikolonne.
3. Når du sletter en værdi i den ændrede kolonne, fjernes også dato og klokkeslæt.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!