Le mot-clé VBA "public" existe pour rendre fonctions VBA accessibles à d'autres fonctions VBA et sous-programmes . Plus précisément, il permet à une fonction VBA ou "sub" pour appeler une fonction dans un autre module. Savoir quand utiliser les fonctions publiques vous permet d'indiquer à quelqu'un d' étudier votre programme VBA qu'une fonction a une utilité limitée. Cela aide la personne à comprendre le rôle de la fonction et l'importance relative dans votre programme. But L'objectif d'une fonction publique est de fournir un accès complet à une fonction de tout autre sous-programme dans un classeur Excel. Par exemple, si vous avez écrit une fonction appelée " ParseLastName " qui extrait dernier nom d'une personne à partir d'une chaîne de caractères contenant les noms et prénoms , de nombreuses parties de votre code VBA , dispersés dans différents modules de codage , peuvent avoir besoin d' utiliser cette fonction. Faire la fonction privé permettrait d'éviter ces modules d'utiliser " ParseLastName , " alors faites cette fonction publique. Reconnaissant vous pouvez reconnaître si une fonction est publique par la recherche de le mot-clé "public" avant la " fonction" mot-clé dans n'importe quel endroit dans VBA où vous pouvez écrire un sous-programme , y compris les modules, les modules « ThisWorkbook " classe et les modules de " feuille" , qui détiennent des sous-programmes pour chaque feuille de calcul dans un classeur Excel. Pas toutes les fonctions publiques utilisent le mot-clé "public" , cependant. Si ce mot clé est absente, la fonction publique est encore , sauf s'il a le mot «privé» , comme dans « fonction someFunction privé. " Exemple d'application Fonctions publiques fournissent les moyens pour créer des fonctions définies par l'utilisateur que Excel listes dans la boîte de dialogue " Insérer une fonction " dans l'onglet "Formules" . Pour créer une fonction définie par l'utilisateur qui calcule le nombre de jours jusqu'à Noël prochain , d'abord coller la fonction publique suivant dans un nouveau module VBA , puis revenez à Excel et cliquez sur le bouton "Fx " au-dessus de la grille de calcul . Cliquez sur la catégorie " définie par l'utilisateur " , puis double- cliquez sur l'élément " DaysToChristmas " qui apparaît. Excel insère votre fonction dans la feuille de calcul active . De DaysToChristmas Public Function () As Integer Dim Noël CURRENTYEAR As Integer CURRENTYEAR = Année ( maintenant) Noël = " 25/12 /" & CURRENTYEAR DaysToChristmas = DateDiff ( "d" , Now () , DateValue (Noël) ) End Function quand ne pas utiliser ne pas utiliser une fonction publique quand vous avez écrit une sous-routine pour une utilisation dans un contexte spécifique. Utilisez une fonction privée à la place. Par exemple, si vous avez besoin d'une fonction de dépouiller le troisième personnage du début d'une chaîne , et un seul sous-programme va appeler cette fonction , écrire cette fonction d'assistance dans le même module que le sous-programme dont il a besoin , et de le déclarer privé. Le danger de le déclarer public est que vous pouvez ensuite besoin d'écrire une fonction publique différente avec le même nom . VBA affichera un message d'erreur dans ce cas, car il ne sait pas quelle fonction vous aviez l'intention d'exécuter .
|