Μετάβαση στο κύριο περιεχόμενο

Πώς να αποτρέψετε τη διαγραφή συγκεκριμένων περιεχομένων κυττάρων στο Excel;

Αυτό το άρθρο αναφέρεται για την αποτροπή διαγραφής συγκεκριμένων περιεχομένων κελιού στο Excel. Μπορείτε να το επιτύχετε με τις μεθόδους σε αυτό το άρθρο.

Αποτρέψτε τη διαγραφή συγκεκριμένων περιεχομένων κελιού προστατεύοντας το φύλλο εργασίας
Αποτρέψτε τη διαγραφή συγκεκριμένων περιεχομένων κελιού χρησιμοποιώντας τον κώδικα VBA


Αποτρέψτε τη διαγραφή συγκεκριμένων περιεχομένων κελιού προστατεύοντας το φύλλο εργασίας

Από προεπιλογή, όλα τα κελιά στο φύλλο εργασίας είναι κλειδωμένα. Εάν θέλετε να αποτρέψετε τη διαγραφή συγκεκριμένων περιεχομένων κελιού και να κάνετε επεξεργασία άλλων κυττάρων μετά την προστασία, κάντε τα εξής.

1. Κάντε κλικ στο κουμπί κουμπί στην επάνω αριστερή γωνία του φύλλου εργασίας για να επιλέξετε ολόκληρο το φύλλο εργασίας. Στη συνέχεια πατήστε Ctrl + 1 για να ανοίξετε το κύτταρα μορφή κουτί διαλόγου.

2. Στο αναδυόμενο παράθυρο κύτταρα μορφή πλαίσιο διαλόγου, αποεπιλέξτε το Κλειδωμένο επιλογή βάσει του Απάτη , και στη συνέχεια κάντε κλικ στο κουμπί OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

3. Επιλέξτε τα κελιά που δεν θέλετε να διαγραφούν τα περιεχόμενα, πατήστε Ctrl + 1 πλήκτρα για να ανοίξετε το κύτταρα μορφή πλαίσιο διαλόγου ξανά, επιλέξτε το Κλειδωμένο επιλογή βάσει του Απάτη , και στη συνέχεια κάντε κλικ στο κουμπί OK κουμπί.

4. Τώρα κάντε κλικ Βαθμολογία Κριτικής > Προστατέψτε το φύλλο, στη συνέχεια καθορίστε και επιβεβαιώστε τον κωδικό πρόσβασής σας και στα δύο Προστατέψτε το φύλλο και Επιβεβαίωση Κωδικού Πρόσβασης πλαίσια διαλόγου.

Τώρα το φύλλο εργασίας προστατεύεται. Και τα καθορισμένα περιεχόμενα κελιού δεν θα διαγραφούν πια.


Αποτρέψτε τη διαγραφή συγκεκριμένων περιεχομένων κελιού χρησιμοποιώντας τον κώδικα VBA

Εκτός από τις παραπάνω δύο μεθόδους, μπορείτε να εκτελέσετε κώδικα VBA για να αποτρέψετε τη διαγραφή συγκεκριμένων περιεχομένων κελιού σε ένα φύλλο εργασίας. Κάντε τα εξής:

1. Ανοίξτε το φύλλο εργασίας που περιέχει τα περιεχόμενα του κελιού που δεν θέλετε να διαγράψετε, κάντε δεξί κλικ στην καρτέλα Φύλλο και, στη συνέχεια, κάντε κλικ στο Προβολή κωδικού από το μενού με δεξί κλικ.

2. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα VBA στο παράθυρο Code του Microsoft Visual Basic για εφαρμογές παράθυρο.

Κωδικός VBA: Αποτρέψτε τη διαγραφή συγκεκριμένων περιεχομένων κελιού στο Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

Note: Στον κώδικα, το A1: E17 είναι το εύρος στο οποίο τα περιεχόμενα του κελιού δεν θα διαγραφούν. Μπορείτε να αλλάξετε το εύρος με βάση τις ανάγκες σας.

Από τώρα και στο εξής, όταν προσπαθείτε να διαγράψετε τα περιεχόμενα κελιού από το εύρος A1: E17, θα λάβετε ένα Kutools για Excel παράθυρο διαλόγου όπως φαίνεται παρακάτω, κάντε κλικ στο OK κουμπί.


Σχετικά Άρθρα:

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (18)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Hi,

This is exactly what I was looking for, but it doesn't work for me...
This says: "End Sub expected"

Can you help me ?

Thanks :)
This comment was minimized by the moderator on the site
This is great. I was wondering if this was an option and sure enough it was. Thank you for the very easy instructions.

Andres S.
Rated 5 out of 5
This comment was minimized by the moderator on the site
No, I meant NOT to allow deletion (without protecting the wks or wkb).

It is nice the above works at Wks level.

If there is something to make it work at wkb level it would be even better (I have many sheets)

G
This comment was minimized by the moderator on the site
Is it possible to do something similar at workbook level?

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:M7000")) Is Nothing Then Exit Sub
On Error GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Then
Application.Undo
MsgBox " You can't delete cell contents from this range " _
, vbCritical, "Kutools for Excel"
End If
ExitPoint:
Application.EnableEvents = True
End Sub
This comment was minimized by the moderator on the site
Hi Gelu,
Do you mean to prevent the range "A1:M7000" from being deleted in all worksheets of the current workbook?
This comment was minimized by the moderator on the site
Thank you for the valuable information.
Regarding the below VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
On Error GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Then
Application.Undo
MsgBox " You can't delete cell contents from this range " _
, vbCritical, "Kutools for Excel"
End If
ExitPoint:
Application.EnableEvents = True
End Sub

The above will allow execution within a certain specified range. It does not allow the addition of new rows. Is there a way that new rows can be added yet maintaining the same protection.
thanks and regards
This comment was minimized by the moderator on the site
Hi Oussama Abou faraj,
After trying with various methods, I can't seem to get this to work. After adding a new row, the area will be locked Immediately and the newly inserted cell cannot be edited.
This comment was minimized by the moderator on the site
Hello, this code works well, however deleting row/collumn will bypass it. Is there any workaround to this? Cheers, David.
This comment was minimized by the moderator on the site
Hi David,
Which Excel version are you using? I have tried the code, entire rows and columns in the specified range can't be deleted after applying the code.
This comment was minimized by the moderator on the site
"Prevent specific cell contents from being deleted by protecting the worksheet"I did as per your guideline, still cell information could be deleted i.e. protection does not work. Any solution.
This comment was minimized by the moderator on the site
Hi Ahsan,
Did you apply the VBA method?
You need to add the VBA to the worksheet code window. Supposing the cell contents you want to protect are in Sheet9, please right click the sheet tab and select View Code from the context menu, and then directly copy the code into the code window as the below image shown.
This comment was minimized by the moderator on the site
VBA Code - Great Tip thanks

Is there a VBA code to Prevent specific cell contents from being modified AND deleted in Excel?
Usual protecting sheet does not work for me as I lose the ability to sort data?

Thanks in advance - Neil
This comment was minimized by the moderator on the site
If you don't wan to look your sheet or write VBA code, then I use a simple technique that prevents from any override except for when they use the "DELETE" key (backspace won't be allowed, but Delete is hard to stop). What I did is added a data validation with the following settings:

1) Allow --> List

2) uncheck "Ignore blank" and "in-cell dropdown"

3) In the source enter two double quotes (i.e., "")

4) In Error Alert tab, check "Show error alter after invalid data is entered", select "Stop" for style, then enter an error message and description (e.g., Don't override)
This comment was minimized by the moderator on the site
Hi,
Thanks for sharing.
This comment was minimized by the moderator on the site
Hi there,

I just tried the VBA script and while it works really well in most situations. However it doesn't work when you tab from an editable cell into the non-editable column/cell. The problem arises in that it throws the error message up - as commanded - but it doesn't keep the data that was entered in the original, editable cell which was tabbed from.

Would you have an amendment to the script so that it accepts the data in the editable cell when you tab into un-editable?

Cheers
This comment was minimized by the moderator on the site
Good day,
I tried as you mentioned in your case, but no error throws. Would you provide a screenshot of your case or tell me your Office version?
Thanks for your comment.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations