Ο σκοπός της δημόσιας λειτουργία είναι να παρέχει πλήρη πρόσβαση σε μια λειτουργία από οποιαδήποτε άλλη υπορουτίνα σε ένα βιβλίο εργασίας του Excel . Για παράδειγμα , αν έχετε γράψει μια λειτουργία που ονομάζεται " ParseLastName " που εξάγει το τελευταίο όνομα ενός ατόμου από ένα string που περιέχει τόσο του πρώτου όσο και το επώνυμο , πολλά μέρη του κώδικα VBA σας , διάσπαρτα σε διάφορες ενότητες κωδικοποίησης , μπορεί να χρειαστεί να χρησιμοποιήσετε αυτή τη λειτουργία . Κάνοντας την ιδιωτική λειτουργία θα εμποδίζει τις ενότητες από τη χρήση " ParseLastName ", οπότε αυτή τη δημόσια λειτουργία .
Εικόνων Αναγνωρίζοντας
Η
Μπορείτε να αναγνωρίσετε αν μια συνάρτηση είναι δημόσια από ψάχνει για το " κοινό" λέξη-κλειδί πριν από τη «λειτουργία» λέξη-κλειδί σε οποιαδήποτε θέση στην VBA όπου μπορείτε να γράψετε μια ρουτίνα , συμπεριλαμβανομένης της « ThisWorkbook " ενότητα, λειτουργικές μονάδες κλάσης και " Φύλλο " ενότητες, οι οποίες κατέχουν υποπρογράμματα για κάθε φύλλο σε ένα βιβλίο εργασίας του Excel . Δεν είναι όλες οι δημόσιες λειτουργίες χρησιμοποιούν το " κοινό" λέξη-κλειδί , όμως . Εάν αυτή η λέξη-κλειδί λείπει , η λειτουργία εξακολουθεί να είναι δημόσιες, εκτός αν έχει την "ιδιωτική " λέξη-κλειδί , όπως και στην «ιδιωτική someFunction λειτουργία . "
Η Υπόδειγμα Αίτησης
Η
Δημόσιες λειτουργίες παρέχουν τα μέσα για τη δημιουργία από το χρήστη λειτουργίες που ορίζεται από τον λίστες του Excel στο παράθυρο διαλόγου " Εισαγωγή συνάρτησης " του στο " Τύποι " καρτέλα . Για να δημιουργήσετε μια συνάρτηση οριζόμενη από το χρήστη που υπολογίζει τον αριθμό των ημερών μέχρι την επόμενη των Χριστουγέννων , το πρώτο επικολλήστε τον παρακάτω δημόσιο λειτούργημα σε μια νέα λειτουργική μονάδα VBA , στη συνέχεια, να επιστρέψετε στο Excel και κάντε κλικ στο κουμπί " Fx " πάνω από το πλέγμα του φύλλου εργασίας . Κάντε κλικ στην κατηγορία " Ορίζεται από χρήστη " , στη συνέχεια, κάντε διπλό κλικ στο " DaysToChristmas " στοιχείο που εμφανίζεται . Το Excel εισάγει η λειτουργία σας στο ενεργό φύλλο εργασίας .
DaysToChristmas Public Function ( ) As Integer
Δημ. Χριστούγεννα
Dim CurrentYear As Integer
CurrentYear = Έτος ( τώρα )
Χριστούγεννα = " 12/25 /" & CurrentYear
DaysToChristmas = DateDiff ( " d" , τώρα ( ) , DateValue (Χριστούγεννα ) ) Λειτουργία
End
Η Πότε δεν χρησιμοποιούνται
Η
μην χρησιμοποιείτε ένα δημόσιο λειτούργημα , όταν έχετε γράψει μια υπορουτίνα για χρήση σε ένα συγκεκριμένο πλαίσιο . Χρησιμοποιήστε μια ιδιωτική λειτουργία αντ 'αυτού. Για παράδειγμα , εάν χρειάζεστε μια λειτουργία για την ταινία από τον τρίτο χαρακτήρα από την αρχή του string, και μόνο μια υπορουτίνα θα καλέσει αυτή τη λειτουργία , γράψτε αυτή τη λειτουργία αρωγός στην ίδια ενότητα με την υπορουτίνα που χρειάζεται , και να κηρύξει την ιδιωτική . Ο κίνδυνος να τις δηλώσουν δημόσια ότι θα μπορεί αργότερα να χρειαστεί να γράψουμε ένα διαφορετικό δημόσιο λειτούργημα με το ίδιο όνομα . VBA θα εμφανίσει ένα μήνυμα σφάλματος σε αυτή την περίπτωση , επειδή δεν γνωρίζουν ποια λειτουργία που προορίζεται να εκτελέσει .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα