Πώς να καταγράφετε αυτόματα την ημερομηνία και την ώρα όταν αλλάζει το κελί;
Είναι εύκολο για εμάς να εισάγουμε στατική ημερομηνία και ώρα χειροκίνητα ή να εισάγουμε μια δυναμική ημερομηνία που αλλάζει με την ώρα του συστήματος με έναν τύπο. Εάν θέλετε να καταγράψετε την ημερομηνία και την ώρα αυτόματα όταν αλλάζετε ή εισάγετε τιμές, αυτό το πρόβλημα μπορεί να είναι κάπως διαφορετικό για να αντιμετωπιστεί. Ωστόσο, σε αυτό το άρθρο, μπορείτε να επιλύσετε αυτήν την εργασία με τα ακόλουθα βήματα.
Καταγράψτε αυτόματα την ημερομηνία και την ώρα όταν το κελί αλλάζει με τον κωδικό VBA
Καταγράψτε αυτόματα την ημερομηνία και την ώρα όταν το κελί αλλάζει με τον κωδικό VBA
Για παράδειγμα, έχω ένα εύρος τιμών και τώρα, όταν αλλάζω ή πληκτρολογώ νέες τιμές στη στήλη B, θέλω να καταγράφει αυτόματα την τρέχουσα ημερομηνία και ώρα στη στήλη C, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Μπορείτε να ολοκληρώσετε αυτήν την εργασία ακολουθώντας τον κώδικα VBA. Κάντε το ως εξής:
1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.
2. Στη συνέχεια, επιλέξτε το χρησιμοποιημένο φύλλο εργασίας σας από τα αριστερά Εξερεύνηση έργου, κάντε διπλό κλικ για να ανοίξετε το Μονάδα μέτρησηςκαι, στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα VBA στην κενή ενότητα:
Κωδικός VBA: Εγγραφή ημερομηνίας και ώρας αυτόματα όταν αλλάζει το κελί
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. Στη συνέχεια, αποθηκεύστε και κλείστε αυτόν τον κωδικό για να επιστρέψετε στο φύλλο εργασίας, τώρα όταν αλλάζετε την τιμή κελιού ή πληκτρολογείτε νέα δεδομένα στη στήλη Β, η ημερομηνία και η ώρα θα καταγράφονται αυτόματα στη στήλη Γ.
:
1. Στον παραπάνω κώδικα, μπορείτε να τροποποιήσετε το "ΒΒ"Σε οποιαδήποτε άλλη στήλη που θέλετε να αλλάξετε τις τιμές κελιών σε αυτό το σενάριο: Ορισμός WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. Με αυτό xOffsetColumn = 1 script, μπορείτε να εισαγάγετε και να ενημερώσετε την ημερομηνία και την ώρα στην πρώτη στήλη δίπλα στη στήλη αλλαγής τιμής, μπορείτε να αλλάξετε τον αριθμό 1 σε άλλους αριθμούς, όπως 2,3,4,5… που σημαίνει ότι η ημερομηνία θα εισαχθεί το δεύτερη, τρίτη, τέταρτη ή πέμπτη στήλη εκτός από τη στήλη των αλλαγμένων τιμών.
3. Όταν διαγράφετε μια τιμή στην τροποποιημένη στήλη, η ημερομηνία και η ώρα θα καταργηθούν επίσης.
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!