Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Δημιουργία λίστας φύλλων ενός βιβλίου (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/619-dimioyrgia-listas-fillon-enos-biblioy.html)

Billy 12-06-10 11:46

Δημιουργία λίστας φύλλων ενός βιβλίου
 
Καλημέρα σας και συγχαρητήρια για την καλή δουλειά!

Η ερώτηση μου είναι:
Πως μπορώ χωρίς χρήση VBA να εμφανίσω όλα τα ονόματα των φύλλων ενός
βιβλίου Excel σε μια περιοχή ενός φύλλου;

Θέλω βάσει αυτών των ονομάτων (που είναι πολλά και αλλάζουν τακτικά) να δημιουργήσω
τύπους που θα μου επιστρέψουν αποτελέσματα από τα φύλλα αυτά.

Ελπίζω να έγινα κατανοητός.

Ευχαριστώ

Βασίλης

nisgia 13-06-10 13:24

Γεια χαρά Βασίλη!

Ο παρακάτω τύπος επιστρέφει το όνομα του Φύλλου1:
Κώδικας:

=MID(CELL("filename";Φύλλο1!A1);FIND("]";CELL("filename";Φύλλο1!A1))+1;255)
Φτιάχνοντας λοιπόν έναν τέτοιο τύπο για κάθε υπάρχον φύλλο του βιβλίου σου
θα έχεις μια λίστα με τα ονόματα των φύλλων η οποία θα ενημερώνεται αυτόματα
με κάθε μετονομασία τους, όχι όμως και με τη διαγραφή τους ή/και την εισαγωγή νέων.

Για να έχεις μια πλήρως ενημερώσιμη λίστα, θα πρέπει αναγκαστικά να καταφύγεις στη VBA.:frown:

Φιλικά,
Γιάννης

Tasos 13-06-10 14:52

Γεια σας!
Μπορούμε να χρησιμοποιήσουμε την (πολύ παλιά) συνάρτηση GET.WORKBOOK() που μας επιστρέφει τα ονόματα των φύλλων σε πίνακα (Array).

Ορίζουμε λοιπόν ένα νέο όνομα πχ. SheetNames (Στην Excel 2007 - στην καρτέλλα Τύποι > Ορισμός ονόματος), όπου στο πεδίο "Αναφορά σε" περνάμε τη συνάρτηση:

=GET.WORKBOOK(1+0*NOW())

Το +0*NOW() προκαλεί επανυπολογισμό του φύλλου (αναγκαιο αφού οι συναρτήσεις τέτοιου είδους δεν συμπεριλαμβάνονται όπως θα έπρεπε στο σοφό κατά τ άλλα σύστημα υπολογισμού της Excel).

Κατόπιν, σε κάποιο κελί χρησιμοποιούμε τον τύπο:

Κώδικας:

=IFERROR(MID(INDEX(SheetNames;ROWS($1:1));FIND("]";INDEX(SheetNames;ROWS($1:1)))+1;31);"")
και συμπληρώνουμε τη στήλη προς τα κάτω όσο χρειαστεί.

Γενικά, η χρήση της VBA αποτελεί μια πιο προσιτή μέθοδο αφού υποστηρίζεται επίσημα (τώρα και στο εγγύς μέλλον τουλάχιστον) από τη Microsoft και είναι κατά πολύ και πληρέστερη.

Τέλος, προσπάθησε όπως ανέφερε και ο Γιάννης να εισέλθεις στο κεφάλαιο VBA μιας και οι γνώσεις σου στην Excel είναι καλές.


Φιλικά

Τάσος

Billy 14-06-10 08:01

Καλημέρα.

Σας ευχαριστώ πολύ για τις απαντήσεις σας!

Και οι δύο λύσεις λειτουργούν σωστά.

Θα πρέπει να μελετήσω την VBA αλλά πρώτα θα πρέπει να βρω το χρόνο...

Με εκτίμηση

Βασίλης


Η ώρα είναι 06:32.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2