Μπορεί να θέλετε να αποκρύψετε τα ανενεργά φύλλα εργασίας με αυτήν τη μακροεντολή. Το Excel δεν σας επιτρέπει να αποκρύψετε όλα τα φύλλα σε ένα βιβλίο εργασίας. τουλάχιστον ένα πρέπει να εμφανίζεται. Ωστόσο, μπορείτε να αποκρύψετε όλα εκτός από το ενεργό φύλλο.
Πώς λειτουργεί η μακροεντολή
Η μακροεντολή εδώ περνά μέσα από τα φύλλα εργασίας και αντιστοιχίζει το όνομα κάθε φύλλου εργασίας με το όνομα του ενεργού φύλλου. Κάθε φορά που επαναλαμβάνεται η μακροεντολή, κρύβει οποιοδήποτε φύλλο εργασίας που δεν ταιριάζει.
Sub Macro1()
'Βήμα 1: Δηλώστε τις μεταβλητές σας
Dim ws As φύλλο εργασίας
'Βήμα 2: Ξεκινήστε να επαναλαμβάνετε όλα τα φύλλα εργασίας
Για κάθε ws In ThisWorkbook.Φύλλα εργασίας
«Βήμα 3: Ελέγξτε το όνομα κάθε φύλλου εργασίας
Αν ws.Name <> This Workbook.ActiveSheet.Name then
«Βήμα 4: Απόκρυψη του φύλλου
ws.Visible = xlSheetHidden
Τέλος εαν
'Βήμα 5: Κάντε βρόχο στο επόμενο φύλλο εργασίας
Επόμενα ws
End Sub
Το βήμα 1 δηλώνει ένα αντικείμενο που ονομάζεται ws. Αυτό το βήμα δημιουργεί ένα κοντέινερ μνήμης για κάθε φύλλο εργασίας από το οποίο η μακροεντολή κάνει βρόχο.
Το Βήμα 2 ξεκινά τον βρόχο, λέγοντας στο Excel να αξιολογήσει όλα τα φύλλα εργασίας σε αυτό το βιβλίο εργασίας. Σημειώστε τη διαφορά μεταξύ ThisWorkbook και ActiveWorkbook. Το αντικείμενο ThisWorkBook αναφέρεται στο βιβλίο εργασίας που περιέχει τον κώδικα. Το αντικείμενο ActiveWorkBook αναφέρεται στο τρέχον ενεργό βιβλίο εργασίας. Συχνά επιστρέφουν το ίδιο αντικείμενο, αλλά αν το βιβλίο εργασίας που εκτελεί τον κώδικα δεν είναι το ενεργό βιβλίο εργασίας, επιστρέφουν διαφορετικά αντικείμενα. Σε αυτήν την περίπτωση, δεν θέλετε να διακινδυνεύσετε την απόκρυψη φύλλων σε άλλα βιβλία εργασίας, επομένως χρησιμοποιείτε το ThisWorkBook.
Στο Βήμα 3, η μακροεντολή απλώς συγκρίνει το όνομα του ενεργού φύλλου με το φύλλο που βρίσκεται σε βρόχο αυτήν τη στιγμή.
Εάν τα ονόματα των φύλλων είναι διαφορετικά, η μακροεντολή αποκρύπτει το φύλλο στο Βήμα 4.
Στο Βήμα 5, κάνετε επαναφορά για να λάβετε το επόμενο φύλλο. Αφού αξιολογηθούν όλα τα φύλλα, η μακροεντολή τελειώνει.
Σημειώστε ότι χρησιμοποιείτε το xlsheetHidden στη μακροεντολή σας. Αυτή η ιδιότητα εφαρμόζει την προεπιλεγμένη κατάσταση απόκρυψης που θα λαμβάνατε κανονικά όταν κάνετε δεξί κλικ σε ένα φύλλο και επιλέγετε Απόκρυψη. Σε αυτήν την προεπιλεγμένη κατάσταση απόκρυψης, ένας χρήστης μπορεί να κάνει δεξί κλικ σε οποιαδήποτε καρτέλα και να επιλέξει Unhide, η οποία εμφανίζει όλα τα κρυφά φύλλα. Αλλά μια άλλη κατάσταση απόκρυψης είναι πιο μυστική από την προεπιλογή. Εάν χρησιμοποιείτε το xlSheetVeryHidden για να κρύψετε τα φύλλα σας, οι χρήστες δεν θα μπορούν να τα δουν καθόλου — ακόμα κι αν κάνουν δεξί κλικ σε μια καρτέλα και επιλέξουν Unhide. Ο μόνος τρόπος για να αποκρύψετε ένα φύλλο που είναι κρυμμένο με αυτόν τον τρόπο είναι να χρησιμοποιήσετε VBA.
Πώς να χρησιμοποιήσετε τη μακροεντολή
Για να εφαρμόσετε αυτήν τη μακροεντολή, μπορείτε να την αντιγράψετε και να την επικολλήσετε σε μια τυπική λειτουργική μονάδα:
Ενεργοποιήστε το Visual Basic Editor πατώντας Alt+F11.
Κάντε δεξί κλικ στο όνομα του έργου/του βιβλίου εργασίας στο παράθυρο του έργου.
Επιλέξτε Εισαγωγή→ Μονάδα.
Πληκτρολογήστε ή επικολλήστε τον κωδικό στη μονάδα που δημιουργήθηκε πρόσφατα.