Πώς να προστατεύσετε τα κελιά με βάση την ημερομηνία στο Excel;
Κανονικά, μπορούμε να προστατεύσουμε το φύλλο εργασίας για να αποτρέψουμε την επεξεργασία ή την τροποποίηση των τιμών των κελιών από άλλους, αλλά, μερικές φορές, πρέπει να προστατεύσετε τα κελιά με βάση την ημερομηνία. Για παράδειγμα, θέλω να προστατεύσω άλλα κελιά, αλλά επιτρέπω μόνο την τροποποίηση των τιμών κελιών της σημερινής ημερομηνίας, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Αυτό το άρθρο θα μιλήσει για τον τρόπο προστασίας των κελιών με βάση την ημερομηνία.
Προστατέψτε όλες τις σειρές εκτός από τη σημερινή γραμμή ημερομηνίας με τον κωδικό VBA
Προστατέψτε όλες τις σειρές που έχει περάσει η ημερομηνία με τον κωδικό VBA
Προστατέψτε όλες τις σειρές εκτός από τη σημερινή γραμμή ημερομηνίας με τον κωδικό VBA
Επιτρέψτε μόνο την τροποποίηση της γραμμής που ισούται με τη σημερινή ημερομηνία, ο παρακάτω κώδικας μπορεί να σας βοηθήσει, κάντε το ως εξής:
1. Κάντε δεξί κλικ στην καρτέλα φύλλων που θέλετε να προστατεύσετε τα κελιά με βάση την ημερομηνία και, στη συνέχεια, επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος, στο αναδυόμενο Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην κενή ενότητα:
Κωδικός VBA: Προστατέψτε όλες τις σειρές εκτός από τη σημερινή σειρά ημερομηνιών:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
Note: Στον παραπάνω κωδικό, το γράμμα E είναι η κεφαλίδα της στήλης όπου βρίσκεται η ημερομηνία, "111111Είναι ο κωδικός πρόσβασης για την προστασία αυτού του φύλλου. Μπορείτε να τα αλλάξετε ανάλογα με τις ανάγκες σας.
2. Στη συνέχεια, αποθηκεύστε και κλείστε αυτό το παράθυρο κώδικα.
(1.) Εάν κάνετε κλικ σε άλλα κελιά πέρα από τη σημερινή γραμμή ημερομηνίας, θα εμφανιστεί ένα πλαίσιο προτροπής για να σας υπενθυμίσει ότι δεν είναι δυνατή η επεξεργασία του κελιού, δείτε το στιγμιότυπο οθόνης:
(2.) Εάν κάνετε κλικ και επεξεργαστείτε τη γραμμή ισούται με τη σημερινή ημερομηνία, θα τροποποιηθεί επιτυχώς, δείτε το στιγμιότυπο οθόνης:
Προστατέψτε όλες τις σειρές που έχει περάσει η ημερομηνία με τον κωδικό VBA
Εάν πρέπει να προστατεύσετε όλες τις σειρές, η ημερομηνία έχει παρέλθει, επιτρέψτε μόνο την τροποποίηση των σημερινών και των μελλοντικών σειρών ημερομηνιών, εφαρμόστε τον ακόλουθο κώδικα VBA:
1. Κάντε δεξί κλικ στην καρτέλα φύλλων που θέλετε να προστατεύσετε τα κελιά με βάση την ημερομηνία και, στη συνέχεια, επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος, στο αναδυόμενο Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην κενή ενότητα:
Κωδικός VBA: Προστασία όλων των σειρών έχει παρέλθει η ημερομηνία:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
Note: Στον παραπάνω κωδικό, ο αριθμός 5 είναι ο αριθμός στήλης όπου βρίσκεται η ημερομηνία, "111111Είναι ο κωδικός πρόσβασης για την προστασία αυτού του φύλλου. Μπορείτε να τα αλλάξετε ανάλογα με τις ανάγκες σας.
3. Στη συνέχεια, αποθηκεύστε και κλείστε αυτό το παράθυρο κώδικα.
(1.) Εάν κάνετε κλικ στην ημερομηνία κελιών που έχει παρέλθει, θα εμφανιστεί ένα πλαίσιο προτροπής για να σας υπενθυμίσει ότι δεν είναι δυνατή η επεξεργασία του κελιού, δείτε το στιγμιότυπο οθόνης:
(2.) Εάν κάνετε κλικ στο κελί των γραμμών για να προσπαθήσετε να αλλάξετε τις τιμές στη σημερινή ή μελλοντική ημερομηνία, θα τροποποιηθεί με επιτυχία, δείτε το στιγμιότυπο οθόνης:
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!