Υπάρχουν φορές που δεν θέλετε ένας χρήστης να κλείνει ένα βιβλίο εργασίας του Excel χωρίς να εισάγει ένα συγκεκριμένο τμήμα δεδομένων. Σε αυτές τις περιπτώσεις, θα ήταν χρήσιμο να αρνηθείτε στον χρήστη τη δυνατότητα να κλείσει το βιβλίο εργασίας μέχρι να συμπληρωθεί το κελί προορισμού (όπως φαίνεται εδώ). Εδώ μπαίνει αυτή η έξυπνη μακροεντολή.
Αποτρέψτε το κλείσιμο μέχρι να συμπληρωθεί ένα συγκεκριμένο κελί.
Πώς λειτουργεί η μακροεντολή
Αυτός ο κώδικας ενεργοποιείται από το συμβάν BeforeClose του βιβλίου εργασίας. Όταν προσπαθείτε να κλείσετε το βιβλίο εργασίας, αυτό το συμβάν ενεργοποιείται, εκτελώντας τον κώδικα μέσα. Αυτή η μακροεντολή ελέγχει εάν το κελί προορισμού (κελί C7, σε αυτήν την περίπτωση) είναι κενό. Εάν είναι κενό, η διαδικασία κλεισίματος ακυρώνεται. Εάν το C7 δεν είναι κενό, το βιβλίο εργασίας αποθηκεύεται και κλείνει:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Βήμα 1: Ελέγξτε εάν το κελί C7 είναι κενό
If Sheets("Sheet1").Range("C7").Value = " Τότε
'Βήμα 2: Εάν το κελί είναι κενό, ακυρώστε το κλείσιμο και ενημερώστε τον χρήστη
Ακύρωση = Αληθινό
MsgBox "Το κελί C7 δεν μπορεί να είναι κενό"
'Βήμα 3: Εάν το κελί δεν είναι κενό, αποθηκεύστε και κλείστε
Αλλού
ActiveWorkbook.Close SaveChanges:=True
Τέλος εαν
End Sub
Το βήμα 1 ελέγχει εάν το C7 είναι κενό.
Εάν το C7 είναι κενό, το Βήμα 2 τίθεται σε ισχύ, ακυρώνοντας τη διαδικασία κλεισίματος περνώντας το True στο Ακύρωση Boolean. Το βήμα 2 ενεργοποιεί επίσης ένα πλαίσιο μηνύματος που ειδοποιεί τον χρήστη για τη βλακεία του (καλά, δεν είναι τόσο σκληρό, πραγματικά).
Στο Βήμα 3, εάν το κελί C7 δεν είναι κενό, το βιβλίο εργασίας αποθηκεύεται και κλείνει.
Πώς να χρησιμοποιήσετε τη μακροεντολή
Για να εφαρμόσετε αυτήν τη μακροεντολή, πρέπει να την αντιγράψετε και να την επικολλήσετε στο παράθυρο κώδικα συμβάντος Workbook_BeforeClose. Η τοποθέτηση της μακροεντολής εδώ της επιτρέπει να εκτελείται κάθε φορά που προσπαθείτε να κλείσετε το βιβλίο εργασίας:
Ενεργοποιήστε το Visual Basic Editor πατώντας Alt+F11.
Στο παράθυρο του έργου, βρείτε το όνομα του έργου/του βιβλίου εργασίας σας και κάντε κλικ στο σύμβολο συν δίπλα του για να δείτε όλα τα φύλλα.
Κάντε κλικ στο This Workbook.
Στην αναπτυσσόμενη λίστα Συμβάν, επιλέξτε το συμβάν BeforeClose.
Πληκτρολογήστε ή επικολλήστε τον κωδικό στη μονάδα που δημιουργήθηκε πρόσφατα.
Εισαγάγετε τον κωδικό σας στο συμβάν Bookbook BeforeClose.