Γιώργο καλησπέρα!
Σαν συνέχεια κάποιας προηγούμενης μας συζήτησης
θέλω να επαναλάβω ότι αφού είσαι δυναμικός χρήστης στο Microsoft Office, φρόντισε
να κάνεις τις απαραίτητες ρυθμίσεις στο "Κέντρο Αξιοπιστίας" του εκάστοτε προγράμματος έτσι ώστε οι
παραδειγματικοί κώδικες
που προτείνονται μέσα απ αυτό το φόρουμ να μπορούν να εκτελούνται χωρίς περιορισμούς και φραγές.
Και λέω παραδειγματικοί επειδή έχουν γενικότερο χαρακτήρα μιας και γιατί συντάσσονται από φίλους
που εκ των πραγμάτων δεν μπορούν να γνωρίζουν την ακριβή δόμηση των αρχείων σου.
Στην Ερώτηση σου λοιπόν,
Η Excel (αλλά και άλλα προγράμματα του Microsoft Office) έχουν προικιστεί με Συμβάντα (Events).
Ένα συμβάν είναι μια συγκεκριμένη ενέργεια που λαμβάνει χώρα σε ή με ένα συγκεκριμένο αντικείμενο.
Η Excel μπορεί να αποκριθεί σε ποικιλία συμβάντων: κλικ του ποντικιού, αλλαγές των δεδομένων,
ανοίγματα και Βιβλίων Εργασίας και πολλά άλλα.
Τα συμβάντα είναι συνήθως το αποτέλεσμα ενεργειών του χρήστη.
Χρησιμοποιώντας μια διαδικασία συμβάντος, μπορούμε να προσθέσουμε τη δική μας προσαρμοσμένη
απόκριση σε ένα συμβάν που λαμβάνει χώρα σε κάποιο αντικείμενο της Excel ή σε ένα στοιχείο ελέγχου.
Έτσι, μπορούμε στο συμβάν
Workbook_Open() που ενεργοποιείται όταν ανοίγει το βιβλίο,
να προσθέσουμε κώδικα που να μας ενεργοποιεί το επιθυμητό φύλλο.
Επιλογή 1
ThisWorkbook.Sheets("ΌνομαΦύλλου").Activate
Ενεργοποιεί το φύλλο σύμφωνα με το
όνομα που φαίνεται στην καρτέλα.
Δεν είναι αξιόπιστη λύση αφού αν αλλάξει το όνομα του φύλλου
ο κώδικας θα προκαλέσει σφάλμα
Επιλογή 2 ThisWorkbook.Sheets(2).Activate
Ενεργοποιεί το ορατό φύλλο του βιβλίου που είναι δεύτερο
(2) στην καρτέλα.
Δεν είναι 100% αξιόπιστη λύση αφού αν αλλάξει η σειρά του φύλλου
ο κώδικας θα προκαλέσει σφάλμα
Επιλογή 3 Sheet1.Activate
Ενεργοποιεί το φύλλο του βιβλίου που το
κωδικό του όνομα είναι "
Sheet1" (βλ. εικόνα).
Το φύλλο πρέπει να είνα ορατό.
100% αξιόπιστη λύση αφού τo όνομα αυτό μπορεί να αλλάξει
μόνο από τον προγραμματιστή του Έργου
VBA.
Η πρόταση μου:
Κώδικας:
Option Explicit
Private Sub Workbook_Open()
Sheet1.Activate
End Sub
Καλή συνέχεια!
Τάσος