Hoe de datum en tijd automatisch registreren wanneer de cel verandert?
Het is gemakkelijk voor ons om statische datum en tijd handmatig in te voegen of een dynamische datum in te voegen die verandert met de systeemtijd met een formule. Als u de datum en tijd automatisch wilt opnemen wanneer u waarden wijzigt of invoert, kan dit probleem enigszins afwijken. Maar in dit artikel kunt u deze taak oplossen met de volgende stappen.
Registreer datum en tijd automatisch wanneer de cel verandert met VBA-code
Registreer datum en tijd automatisch wanneer de cel verandert met VBA-code
Ik heb bijvoorbeeld een reeks waarden en nu, wanneer ik nieuwe waarden verander of typ in kolom B, wil ik dat de huidige datum en tijd automatisch worden vastgelegd in kolom C zoals in het volgende screenshot:
U kunt deze taak voltooien met de volgende VBA-code. Doe alstublieft als volgt:
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.
2. Kies dan aan de linkerkant je gebruikte werkblad Projectverkenner, dubbelklik erop om het Module, en kopieer en plak vervolgens de volgende VBA-code in de lege module:
VBA-code: registreer automatisch datum en tijd wanneer de cel verandert
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. Sla deze code vervolgens op en sluit deze om terug te keren naar het werkblad.Als u nu de celwaarde wijzigt of nieuwe gegevens typt in kolom B, worden de datum en tijd automatisch opgenomen in kolom C.
Opmerkingen:
1. In de bovenstaande code kunt u de “B: B”Naar een andere kolom waarvan u de celwaarden in dit script wilt wijzigen: Set WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. Met deze xOffsetKolom = 1 script, kunt u de datum en tijd invoegen en bijwerken naar de eerste kolom naast uw kolom met veranderende waarden, u kunt het nummer 1 wijzigen in andere nummers, zoals 2,3,4,5 ... dat betekent dat de datum wordt ingevoegd in de tweede, derde, vierde of vijfde kolom naast de kolom met gewijzigde waarden.
3. Als u een waarde in de gewijzigde kolom verwijdert, worden de datum en tijd ook verwijderd.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!