Φύλλο προστασίας VBA - Password Protect Excel Sheet χρησιμοποιώντας VBA

Πίνακας περιεχομένων

Φύλλο προστασίας Excel VBA

Μπορούμε να προστατεύσουμε το φύλλο excel χρησιμοποιώντας τον κώδικα vba που δεν επιτρέπει στον χρήστη να κάνει αλλαγές στα δεδομένα του φύλλου εργασίας, το μόνο που μπορούν να κάνουν είναι να διαβάσουν την αναφορά. Για αυτό, έχουμε μια ενσωματωμένη μέθοδο vba που ονομάζεται "Protect".

Όπως προστατεύουμε τα φύλλα εργασίας μας στο Excel, έτσι μπορούμε να χρησιμοποιήσουμε το VBA για να προστατεύσουμε τα φύλλα εργασίας μας, γίνεται χρησιμοποιώντας μια δήλωση .protect, υπάρχουν δύο μέθοδοι για την προστασία του φύλλου, μία είναι με κωδικό πρόσβασης και μια άλλη χωρίς κωδικό πρόσβασης, η σύνταξη για προστασία ένα φύλλο εργασίας έχει ως εξής φύλλα εργασίας (). Προστασία κωδικού πρόσβασης.

Συνήθως κοινοποιούμε την τελική αναφορά με τον χρήστη ή τον αναγνώστη. Όταν κοινοποιούμε την τελική αναφορά με τον χρήστη, ευχόμαστε ο χρήστης να μην κάνει καμία τροποποίηση ή να χειριστεί την τελική αναφορά. Σε ένα τέτοιο σενάριο, πρόκειται για εμπιστοσύνη, έτσι δεν είναι;

Σύνταξη

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

Ουάου!!! Μην εκφοβίζετε κοιτάζοντας τη σύνταξη. Ρίξτε μια ματιά στην εξήγηση κάθε επιχειρήματος παρακάτω.

  • Όνομα φύλλου εργασίας: Πρώτον, πρέπει να αναφέρουμε ποιο φύλλο εργασίας πρόκειται να προστατεύσουμε.
  • Κωδικός πρόσβασης: Πρέπει να εισαγάγουμε τον κωδικό πρόσβασης που χρησιμοποιούμε για την προστασία. Εάν αγνοήσουμε αυτήν την παράμετρο, το excel θα κλειδώσει το φύλλο χωρίς κωδικό πρόσβασης και ενώ δεν προστατεύει το φύλλο, θα προστατευτεί χωρίς να ζητήσει κωδικό πρόσβασης.
  • Σημείωση: Θυμηθείτε τον κωδικό πρόσβασης που δίνετε, γιατί εάν ξεχάσετε, τότε πρέπει να περάσετε από διάφορους σκληρούς τρόπους.
  • Αντικείμενο σχεδίασης: Εάν θέλετε να προστατέψετε αντικείμενα στο φύλλο εργασίας, τότε μπορείτε να μεταβιβάσετε το όρισμα ως ΑΛΗΘΟΣ ή αλλιώς ΛΑΘΟΣ. Η προεπιλεγμένη τιμή είναι TRUE.
  • Περιεχόμενα: Για την προστασία των περιεχομένων του φύλλου εργασίας, ορίστε την παράμετρο ως ΑΛΗΘΗ ή αλλιώς ΛΑΘΟΣ. Η προεπιλεγμένη τιμή είναι ψευδής. Αυτό θα προστατεύσει μόνο τα κλειδωμένα κελιά. Η προεπιλεγμένη τιμή είναι TRUE.
  • Σενάρια: Αν υπάρχει ανάλυση τι-εάν σε σενάρια excel, μπορούμε να τα προστατεύσουμε επίσης. Για την προστασία ΑΛΗΘΗΣ ή αλλιώς ΛΑΘΟΣ. Η προεπιλεγμένη τιμή είναι TRUE.
  • Μόνο διεπαφή χρήστη: Εάν θέλετε να προστατεύσετε το περιβάλλον εργασίας χρήστη εκτός από τη μακροεντολή, τότε θα πρέπει να είναι ΑΛΗΘΕ. Εάν αυτό το επιχείρημα παραλειφθεί, τότε θα προστατεύσει τόσο τις μακροεντολές όσο και το περιβάλλον εργασίας χρήστη. Εάν ορίσετε το όρισμα σε ΑΛΗΘΕΙΑ, θα προστατεύσει μόνο τη διεπαφή χρήστη μόνο. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η μορφοποίηση κελιών: Εάν θέλετε να επιτρέψετε στον χρήστη να μορφοποιήσει το κελί, τότε μπορείτε να ορίσετε την παράμετρο σε TRUE ή αλλιώς FALSE. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η μορφοποίηση στηλών: Εάν θέλετε να επιτρέψετε στον χρήστη να μορφοποιήσει οποιαδήποτε στήλη στο προστατευμένο φύλλο, τότε μπορείτε να ορίσετε την παράμετρο σε TRUE ή αλλιώς FALSE. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η μορφοποίηση σειρών: Εάν θέλετε να επιτρέψετε στον χρήστη να μορφοποιήσει οποιαδήποτε σειρά στο προστατευμένο φύλλο, τότε μπορείτε να ορίσετε την παράμετρο σε TRUE ή αλλιώς FALSE. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η εισαγωγή στηλών στο VBA: επιθυμείτε να επιτρέψετε στο χρήστη να εισάγει νέες στήλες και, στη συνέχεια, πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η εισαγωγή σειρών: Εάν θέλετε να επιτρέψετε στον χρήστη να εισάγει νέες σειρές, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η εισαγωγή υπερσυνδέσμων : Εάν θέλετε να επιτρέψετε στον χρήστη να εισάγει υπερ-συνδέσεις, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η διαγραφή στηλών: Εάν θέλετε να επιτρέψετε στο χρήστη να διαγράψει στήλες στο VBA, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η διαγραφή σειρών: Εάν θέλετε να επιτρέψετε στο χρήστη να διαγράψει σειρές, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η ταξινόμηση: Εάν θέλετε να επιτρέψετε στον χρήστη να ταξινομήσει τα δεδομένα, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται το φιλτράρισμα: Εάν θέλετε να επιτρέψετε στο χρήστη να φιλτράρει τα δεδομένα, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.
  • Να επιτρέπεται η χρήση συγκεντρωτικών πινάκων : Εάν θέλετε να επιτρέψετε στον χρήστη να χρησιμοποιεί συγκεντρωτικούς πίνακες, τότε πρέπει να το ορίσετε σε ΑΛΗΘΕΙΑ. Η προεπιλεγμένη τιμή είναι ψευδής.

Πώς να προστατέψετε το φύλλο χρησιμοποιώντας τον κώδικα VBA;

Βήμα 1: Επιλέξτε φύλλο που πρέπει να προστατευτεί

Για την προστασία του φύλλου, το πρώτο βήμα είναι να αποφασίσουμε ποιο φύλλο πρέπει να προστατεύσουμε χρησιμοποιώντας έναν κωδικό πρόσβασης και πρέπει να καλέσουμε το φύλλο με το όνομά του χρησιμοποιώντας το αντικείμενο VBA Worksheet.

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να προστατεύσετε το φύλλο με το όνομα "Κύριο φύλλο", τότε πρέπει να αναφέρετε το όνομα του φύλλου εργασίας όπως το παρακάτω.

Βήμα 2: Ορισμός μεταβλητής φύλλου εργασίας

Αφού αναφέρετε το όνομα του φύλλου εργασίας, βάλτε μια τελεία, αλλά δεν βλέπουμε καμία λίστα IntelliSense για εργασία. Αυτό καθιστά τη δουλειά δύσκολη. Για να αποκτήσετε πρόσβαση στη λίστα IntelliSense, ορίζει τη μεταβλητή ως φύλλο εργασίας.

Κώδικας:

Sub Protect_Example1 () Dim Ws ως φύλλο εργασίας End Sub

Βήμα 3: Δώστε αναφορά στο φύλλο εργασίας

Τώρα ορίστε την αναφορά του φύλλου εργασίας στη μεταβλητή ως φύλλα εργασίας ("Κύριο φύλλο") .

Κώδικας:

Sub Protect_Example1 () Dim Ws As Set Sheet Works Ws = Worksheets ("Master Sheet") End Sub

Τώρα η μεταβλητή "Ws" κρατά την αναφορά του φύλλου εργασίας με το όνομα "Κύριο φύλλο". Χρησιμοποιώντας αυτήν τη μεταβλητή, έχουμε πρόσβαση στη λίστα IntelliSense.

Βήμα 4: Επιλέξτε Μέθοδος προστασίας

Επιλέξτε τη μέθοδο "Προστασία" από τη λίστα IntelliSense.

Βήμα 5: Εισαγάγετε τον κωδικό πρόσβασης

Καθορίστε τον κωδικό πρόσβασης σε διπλά εισαγωγικά.

Κώδικας:

Sub Protect_Example1 () Dim Ws As Set Sheet Works Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub

Βήμα 6: Εκτελέστε τον κώδικα

Εκτελέστε τον κώδικα χειροκίνητα ή χρησιμοποιώντας το πλήκτρο συντόμευσης F5, τότε θα προστατεύσει το φύλλο που ονομάζεται "Κύριο φύλλο"

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

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

Sub Protect_Example2 () Dim Ws ως φύλλο εργασίας για κάθε Ws στο ActiveWorkbook.Wheheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub

Σημείωση: Χρησιμοποιήστε άλλες παραμέτρους για πειραματισμό.

ενδιαφέροντα άρθρα...