Εάν έχετε δημιουργήσει ένα Πρόσθετο για να περιέχει τις προσαρμοσμένες λειτουργίες του Excel, ίσως έχετε ανακαλύψει ότι, αν και οι λειτουργίες λειτουργούν καλά σε ένα φύλλο εργασίας του Excel, δεν μπορείτε να τις χρησιμοποιήσετε στις διαδικασίες VBA σε άλλα βιβλία εργασίας. Λες και ο Visual Basic Editor δεν μπορεί βλέπω τους. Λοιπόν, αυτό συμβαίνει επειδή δεν μπορεί! Αυτό το άρθρο εξηγεί πώς μπορείτε να το διορθώσετε.
Πρώτα απ 'όλα, σκεφτείτε αν αυτό είναι πραγματικά αυτό που θέλετε να κάνετε. Τα πρόσθετα προορίζονται κυρίως για την προσθήκη επιπλέον λειτουργικότητας στα βιβλία εργασίας σας. Όταν φορτώνετε ένα πρόσθετο Excel, η λειτουργικότητά του γίνεται άμεσα διαθέσιμη σε όλα τα βιβλία εργασίας σας. Εάν δημιουργήσετε μια διαδικασία VBA που εξαρτάται από μια προσαρμοσμένη συνάρτηση που περιέχεται σε άλλο βιβλίο εργασίας, αυτό το άλλο βιβλίο εργασίας θα πρέπει να είναι ανοιχτό όποτε θέλετε να χρησιμοποιήσετε τη λειτουργία του. Το ίδιο ισχύει για μια προσαρμοσμένη λειτουργία σε ένα πρόσθετο. Εάν έχει φορτωθεί το Πρόσθετο, είναι εντάξει, αλλά υποθέτοντας ότι στείλετε το βιβλίο εργασίας σας σε κάποιον άλλο ή το διανείμετε στην ομάδα εργασίας σας. Πρέπει να θυμάστε να διανείμετε και το Πρόσθετο. Mightσως είναι πιο απλό να συμπεριλάβετε ένα αντίγραφο της συνάρτησης στον κώδικα του βιβλίου εργασίας, ώστε οι διαδικασίες σας να έχουν άμεση πρόσβαση σε αυτόν (ίσως χρειαστεί να το κάνετε Ιδιωτική λειτουργία ή να αλλάξετε το όνομά του για να αποφύγετε συγκρούσεις ονομάτων).
Δεν λέω μην το κάνεις. Απλώς πρέπει να το σκεφτείτε πρώτα και αν είστε βέβαιοι ότι το πρόσθετο θα είναι διαθέσιμο, προχωρήστε. Να πώς…
Πότε προκύπτει το πρόβλημα;
Γράφω μια διαδικασία για ένα από τα βιβλία εργασίας μου. Στη διαδικασία μου θέλω να χρησιμοποιήσω το RemoveSpaces συνάρτηση που δημιούργησα πριν λίγο καιρό και αποθηκεύτηκε στο δικό μου Οι λειτουργίες του Μάρτιν Πρόσθετο το οποίο είναι εγκατεστημένο στο αντίγραφο του Excel μου. Αλλά όταν προσπαθώ να εκτελέσω τη διαδικασία μου, λαμβάνω ένα σφάλμα.
Ο επεξεργαστής Visual Basic συμπεριφέρεται σαν να μην υπάρχει η συνάρτηση, αλλά ξέρω ότι υπάρχει και μπορώ να τον δω αν κοιτάξω τον κώδικα μέσα στο Πρόσθετό μου. Στην πραγματικότητα, ο κώδικας λειτουργεί καλά αν τον τρέξω μέσα από το πρόσθετο μου.
Χρειάζομαι το Visual Basic Editor για να μπορώ βλέπω τις συναρτήσεις στο Πρόσθετό μου από το εσωτερικό της μονάδας κώδικα του a διαφορετικός ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ.
Δώστε το πρόσθετο σας ένα όνομα έργου VBA
Κάθε βιβλίο εργασίας έχει ένα Όνομα έργου VBAΤο Λέγεται VBAProjectΤο Μπορείτε να αλλάξετε αυτό το όνομα αν θέλετε αλλά κανονικά δεν ενοχλώ, γιατί κανονικά δεν έχει σημασία.
Αναρωτηθήκατε ποτέ γιατί όλα τα βιβλία εργασίας εμφανίζονται στο Project Explorer το παράθυρο του Visual Basic Editor ονομάζεται "VBAProject"; Εάν έχετε εγκαταστήσει κάποιο από τα πρόσθετα της Microsoft, θα δείτε ότι έχουν διαφορετικό όνομα. Οι προγραμματιστές της Microsoft έχουν δώσει Εργαλείο ανάλυσης Προσθήκη στο όνομα του έργου VBA "funcres".
Το πρώτο πράγμα που πρέπει να κάνετε είναι να δώσετε στο Add-In σας ένα μοναδικό VBA Project Name. Αυτό συμβαίνει επειδή πρόκειται να το αναφέρετε με αυτό το όνομα στο επόμενο βήμα και εάν υπάρχουν περισσότερα από ένα με το ίδιο όνομα, ο Visual Basic Editor δεν θα ξέρει ποιο να χρησιμοποιήσει.
Στο Project Explorer παράθυρο επιλέξτε το όνομα του πρόσθετου σας. Εάν δεν είναι ήδη ανοιχτό, εμφανίστε το Visual Basic Editor Παράθυρο ιδιοτήτωνΤο Θα δείτε ότι υπάρχει μόνο μία ιδιότητα, η ΟνομαΤο Πληκτρολογήστε άλλο όνομα και πατήστε ΕισαγωΤο Θα πρέπει να υπακούσετε στους συνήθεις κανόνες ονοματοδοσίας για το VBA (δηλαδή χωρίς παράνομους χαρακτήρες και χωρίς κενά). Θα δείτε ότι το όνομα εφαρμόζεται αμέσως στο Project Explorer.
Τώρα αποθηκεύστε τις αλλαγές στο Πρόσθετό σας. Βεβαιωθείτε ότι το Πρόσθετό σας είναι επιλεγμένο στο Project Explorer και επιλέξτε Αρχείο> Αποθήκευση.
Ορίστε μια αναφορά στο πρόσθετο
Σε αυτό το βήμα, λέτε στο βιβλίο εργασίας στο οποίο θέλετε να χρησιμοποιήσετε τις λειτουργίες του πρόσθετου σας ότι υπάρχει το πρόσθετο. Το κάνεις αυτό από Ορισμός αναφοράς στο Πρόσθετο. Μπορεί να είχατε συναντήσει αυτήν την τεχνική στο παρελθόν εάν θέλετε να γράψετε κώδικα Excel για να επικοινωνήσετε με άλλο πρόγραμμα, όπως π.χ. Αποψη ή Πρόσβαση.
Εάν είναι βολικό, επανεκκινήστε το Excel σε αυτό το σημείο. Αυτό συμβαίνει επειδή το μετονομαζόμενο Πρόσθεμά σας θα φορτωθεί ξανά και η λίστα που πρόκειται να δείτε θα ανανεωθεί. Εάν δεν είναι βολικό, μην ενοχλείτε … διαβάστε την επόμενη παράγραφο και αποφασίστε τι θέλετε να κάνετε.
Ανοίξτε μια ενότητα κώδικα στο βιβλίο εργασίας στην οποία θέλετε να χρησιμοποιήσετε τις λειτουργίες του πρόσθετου και, στη συνέχεια, μεταβείτε στο Εργαλεία> Αναφορές να ανοίξει το βιβλιογραφικές αναφορές παράθυρο διαλόγου όπου θα δείτε μια λίστα με όλες τις βιβλιοθήκες και άλλα αντικείμενα (όπως τα πρόσθετα) στα οποία μπορείτε να ορίσετε μια αναφορά. Εάν έχετε επανεκκινήσει το Excel, αυτή η λίστα θα έχει ανανεωθεί και θα μπορείτε να βρείτε το Όνομα έργου που δώσατε στο Πρόσθετό σας στο τελευταίο βήμα. Βάλτε ένα τικ στο πλαίσιο δίπλα στο όνομα και κάντε κλικ στο Εντάξει κουμπί.
Εάν δεν επανεκκινήσατε το Excel, θα πρέπει να βρείτε το πρόσθετο αρχείο κάνοντας κλικ στο Ξεφυλλίζω κουμπί στο βιβλιογραφικές αναφορές διάλογο. Αυτό ανοίγει το Προσθήκη αναφοράς παράθυρο. Αλλαξε το Αρχεία τύπου: τμήμα προς Αρχεία Microsoft Excel (*. Xls;*. Xla) στη συνέχεια, περιηγηθείτε στο φάκελο στον οποίο είναι αποθηκευμένο το Πρόσθετο.
Επιλέξτε το Πρόσθετό σας και κάντε κλικ ΑνοιξεΤο Αυτό προσθέτει το Πρόσθετό σας στη λίστα όπου μπορείτε να το επιλέξετε και να κάνετε κλικ Εντάξει.
ΣΗΜΕΙΩΣΗ: Δεν χρειάζεται να κάνετε και τις δύο αυτές διαδικασίες! Επιλέξτε ένα ή άλλο ανάλογα με το αν επανεκκινήσατε ή όχι το Excel μετά την αλλαγή του ονόματος του προγράμματος VBA του πρόσθετου σας.
Τώρα θα μπορείτε να χρησιμοποιείτε τις λειτουργίες του Πρόσθετου σε οποιαδήποτε ενότητα στο βιβλίο εργασίας στο οποίο ορίζετε την αναφορά και θα αναγνωρίζονται από τον επεξεργαστή της Visual Basic…
Αν κοιτάξετε το Project Explorer θα δείτε ότι μια αναφορά έχει εφαρμοστεί στο βιβλίο εργασίας…
Είναι σημαντικό να θυμάστε ότι η προσθήκη μιας αναφοράς ισχύει μόνο για το βιβλίο εργασίας για το οποίο πραγματοποιήσατε αυτήν τη διαδικασία. Θα πρέπει να το κάνετε για κάθε διαφορετικό βιβλίο εργασίας στο οποίο θέλετε να χρησιμοποιήσετε τις λειτουργίες του πρόσθετου σας.
Σχετικά με τη διανομή των αρχείων σας
Όταν προσθέτετε μια αναφορά σε ένα Πρόσθετο, αυτός ο σύνδεσμος στο Πρόσθετο είναι "συνδεδεμένος" στο αρχείο. Εάν μετακινήσετε το αρχείο σε άλλον υπολογιστή ή το διανείμετε στους συναδέλφους σας, το βιβλίο εργασίας θα περιμένει να βρει το ίδιο πρόσθετο, στον ίδιο χώρο, στους υπολογιστές του. Επίσης, εάν το πρόσθετο μετακινηθεί ή διαγραφεί από τον υπολογιστή, το βιβλίο εργασίας δεν θα μπορεί να το βρει και ο κωδικός σας δεν θα λειτουργήσει.
Ορισμένοι υποστηρίζουν ότι το αρχείο και το σχετικό πρόσθετο πρέπει να βρίσκονται πάντα στον ίδιο φάκελο για να αποφευχθούν τα προβλήματα που μπορεί να προκαλέσει. Μπορείτε, φυσικά, να ορίσετε ξανά την αναφορά για να διορθώσετε το πρόβλημα.
Λάβετε υπόψη αυτούς τους παράγοντες και δεν θα έχετε προβλήματα.