Les partenaires publicitaires:

Excel VBA Fonction publique

La VBA "public" mot-clé existe pour rendre les fonctions de VBA accessible à d'autres fonctions et sous-routines VBA. Plus précisément, il permet à une fonction ou VBA "sous" 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 utilisation limitée. Cela aide la personne à comprendre le rôle de la fonction et l'importance relative dans votre programme.

  1. Objectif

    • L'objectif d'une fonction publique est de fournir un accès complet à une fonction de tout autre sous-routine dans un classeur Excel. Par exemple, si vous avez écrit une fonction appelée "ParseLastName" qui extrait nom d'une personne à partir d'une chaîne de caractères contenant les deux 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 assurez cette fonction publique.

    • Reconnaissant

      • Vous pouvez reconnaître si une fonction publique est en recherchant le "public" le mot-clé avant "fonction" en tout lieu en VBA où vous pouvez écrire un sous-programme, y compris le "ThisWorkbook" module, les modules de classe et de la "Feuille" modules, qui détiennent des sous-programmes pour chaque feuille de calcul dans un classeur Excel. Toutes les fonctions publiques utilisent pas "public" mot-clé, cependant. Si ce mot clé est manquant, la fonction publique est toujours, sauf si elle a le "privé" mot-clé, comme dans "privé someFunction de fonction."

      Sample Application

      • Les fonctions publiques fournissent les moyens pour créer des fonctions définies par l'utilisateur Excel répertorie dans son "Insérer fonction" boîte de dialogue dans le "Formules" onglet. 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 à la suite dans un nouveau module VBA, puis revenir à Excel et cliquez sur le "Fx" bouton ci-dessus la grille de feuille de calcul. Clique le "Défini par l'utilisateur" catégorie, puis double-cliquez sur le "DaysToChristmas" élément qui apparaît. Excel insère votre fonction dans la feuille de calcul active.

        DaysToChristmas Public Function () As Integer

        Dim Noël




        Dim CurrentYear As Integer

        CurrentYear = Année (maintenant)

        Noël = "12/25 /" & Cette année

        DaysToChristmas = DateDiff ("ré", Maintenant (), DateValue (Noël))

        End Function

      Quand ne pas utiliser

      • Ne pas utiliser une fonction publique lorsque vous avez écrit un sous-programme pour une utilisation dans un contexte spécifique. Utilisez une fonction privée à la place. Par exemple, si vous avez besoin d'une fonction pour dépouiller le troisième caractère 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 qui en a besoin, et déclarer qu'il est privé. Le danger de le déclarer publique est que vous pourrez être amené à écrire une fonction publique différente avec le même nom. VBA affiche un message d'erreur dans ce cas, car il ne connaît pas la fonction que vous aviez l'intention d'exécuter.

    » » » » Excel VBA Fonction publique