Πίνακας περιεχομένων:
Βίντεο: The Great Gildersleeve: Marjorie's Boy Troubles / Meet Craig Bullard / Investing a Windfall 2025
Η μακροεντολή που παρουσιάζεται εδώ είναι ένας εξαιρετικός τρόπος για να προστατεύσετε τους χρήστες από το να κλείνουν ακούσια το αρχείο τους πριν από την αποθήκευση. Όταν εφαρμοστεί, αυτή η μακροεντολή διασφαλίζει ότι το Excel αποθηκεύει αυτόματα το βιβλίο εργασίας πριν το κλείσει.
Το Excel συνήθως προειδοποιεί τους χρήστες που επιχειρούν να κλείσουν ένα μη αποθηκευμένο βιβλίο εργασίας, δίνοντάς τους την επιλογή να αποθηκεύσουν πριν κλείσουν. Ωστόσο, πολλοί χρήστες ενδέχεται να χτυπήσουν πέρα από την προειδοποίηση και να κάνουν αμέλεια κλικ στο Όχι, λέγοντας στο Excel να κλείνει χωρίς αποθήκευση. Με αυτήν τη μακροεντολή, προστατεύετε από αυτό, αποθηκεύοντας αυτόματα πριν κλείσετε.
Πώς λειτουργεί η μακροεντολή
Ο κώδικας ενεργοποιείται από το συμβάν "BeforeClose" του βιβλίου εργασίας. Όταν προσπαθείτε να κλείσετε το βιβλίο εργασίας, αυτό το συμβάν πυροδοτεί, εκτελώντας τον κώδικα μέσα. Η ουσία του κώδικα είναι απλή - ζητά από τους χρήστες να θέλουν να κλείσουν το βιβλίο εργασίας. Στη συνέχεια, η μακροεντολή αξιολογεί εάν ο χρήστης έκανε κλικ στο OK ή στο Cancel.
Η αξιολόγηση γίνεται με μια δήλωση Select Case. Η εντολή Select Case είναι μια εναλλακτική λύση στην εντολή If-Then-Else, επιτρέποντάς σας να εκτελέσετε ελέγχους κατάστασης στις μακροεντολές σας. Η βασική δομή ενός Επιλέξτε δήλωση υπόθεση είναι απλή:
Επιλογή υπόθεση περίπτωση είναι = υπόθεση είναι = υπόθεση είναι = End Επιλέξτε
Με Επιλέξτε δήλωση υπόθεση, μπορείτε να εκτελέσετε πολλές όρους ελέγχους. Σε αυτή την περίπτωση, απλώς ελέγχετε για OK ή Cancel. Ρίξτε μια ματιά στον κώδικα:
Private Sub Workbook_BeforeClose (Ακύρωση Όπως Boolean): Βήμα 2: Κουμπί Ακύρωση πατηθεί, 'Βήμα 1 Ενεργοποιήστε το πλαίσιο μηνύματος και αρχίστε να το ελέγξει Επιλέξτε υπόθεση MsgBox (, vbOKCancel "Αποθήκευση και κλείσιμο;")' οπότε ακυρώστε το κλείσιμο της περίπτωσης Is = vbCancel Cancel = True 'Βήμα 3: Πατήστε το κουμπί OK, έτσι αποθηκεύστε το βιβλίο εργασίας και κλείστε το Case Is = vbOK ActiveWorkbook. Αποθήκευση 'Βήμα 4: Κλείσιμο της δήλωσης Select Case End Select End Sub
Στο Βήμα 1, ενεργοποιείτε το πλαίσιο μηνύματος ως έλεγχος κατάστασης για την εντολή Select Case. Χρησιμοποιείτε το όρισμα vbOKCancel για να βεβαιωθείτε ότι τα κουμπιά ΟΚ και Ακύρωση παρουσιάζονται ως επιλογές.
Στο βήμα 2, εάν ο χρήστης κάνει κλικ Άκυρο στο πλαίσιο μηνύματος, η μακροεντολή λέει το Excel για να ακυρώσετε την εκδήλωση Workbook_Close περνώντας Πιστός στο Ακύρωση Boolean.
Εάν ο χρήστης έκανε κλικ στο κουμπί OK στο πλαίσιο μηνύματος, το βήμα 3 τίθεται σε ισχύ. Εδώ, πείτε στο Excel να αποθηκεύσει το βιβλίο εργασίας. Και επειδή δεν ορίσατε το Ακύρωση Boolean σε True, το Excel συνεχίζει με το κλείσιμο.
Στο βήμα 4 απλά κλείνετε τη δήλωση Select Case. Κάθε φορά που εμφανίζετε μια περίπτωση επιλογής, πρέπει να την κλείσετε με μια αντίστοιχη επιλογή τελών.
Πώς να χρησιμοποιήσετε τη μακροεντολή
Για να εφαρμόσετε αυτήν τη μακροεντολή, πρέπει να την αντιγράψετε και να την επικολλήσετε στο παράθυρο κώδικα συμβάντος Workbook_BeforeClose. Η τοποθέτηση της μακροεντολής επιτρέπει τη λειτουργία της κάθε φορά που προσπαθείτε να κλείσετε το βιβλίο εργασίας:
-
Ενεργοποιήστε τον επεξεργαστή της Visual Basic πατώντας Alt + F11.
-
Στο παράθυρο του έργου, βρείτε το όνομα του έργου / του βιβλίου εργασίας σας και κάντε κλικ στο σύμβολο συν δίπλα του για να δείτε όλα τα φύλλα.
-
Κάντε κλικ στο ThisWorkbook.
-
Στην αναπτυσσόμενη λίστα Συμβάντα, επιλέξτε το γεγονός BeforeClose.
-
Πληκτρολογήστε ή επικολλήστε τον κώδικα στη νεοδημιουργηθείσα ενότητα.
Καταχωρίστε τον κωδικό σας στο συμβάν βιβλίου εργασίας πριν από το κλείσιμο.