Comment créer une fonction définie par l'utilisateur dans microsoft excel
Même lorsque Excel a beaucoup, probablement des centaines, des fonctions intégrées comme SUM, RECHERCHEV, GAUCHE, et ainsi de suite, une fois que vous commencez à utiliser Excel pour des tâches plus complexes, vous trouverez souvent que vous avez besoin d'une fonction qui ne existe pas. Ne vous inquiétez pas, vous n'êtes pas du tout perdu, tout ce que vous avez besoin est de créer la fonction vous-même.
Les Étapes
1
Créer un nouveau classeur ou ouvrez le classeur dans lequel vous souhaitez utiliser votre User Defined Function nouvellement créé (UDF).
2
Ouvrez Visual Basic Editor qui est intégré dans Microsoft Excel en allant à Outils-> Macro-> Visual Basic Editor (ou en appuyant sur Alt + F11).
3
Ajouter un nouveau module à votre classeur en cliquant sur le bouton ci. Vous pouvez créer l'utilisateur fonction définie dans la feuille de travail lui-même sans l'ajout d'un nouveau module, mais que ferez-vous incapable d'utiliser la fonction dans d'autres feuilles de calcul du même classeur.
4
Créez la "tête" ou "prototype" de votre fonction. Il doit avoir la structure suivante:
fonction publique »Le nom de votre fonction" (param1 Comme type1, param2 Comme type2) comme type de retourIl peut avoir autant de paramètres que vous voulez, et de leur type peut être l'un des types de données de base d'Excel ou de types d'objets que la gamme. Vous pouvez penser que des paramètres comme le "opérandes" votre fonction sera agir. Par exemple, quand vous dites NAS (45) pour calculer le sinus de 45 degrés, 45 seront prises en tant que paramètre. Puis le code de votre fonction utiliser cette valeur pour calculer quelque chose d'autre et de présenter le résultat.
fonction publique »Le nom de votre fonction" (param1 Comme type1, param2 Comme type2) comme type de retourIl peut avoir autant de paramètres que vous voulez, et de leur type peut être l'un des types de données de base d'Excel ou de types d'objets que la gamme. Vous pouvez penser que des paramètres comme le "opérandes" votre fonction sera agir. Par exemple, quand vous dites NAS (45) pour calculer le sinus de 45 degrés, 45 seront prises en tant que paramètre. Puis le code de votre fonction utiliser cette valeur pour calculer quelque chose d'autre et de présenter le résultat.
5
Ajoutez le code de la fonction en vous assurant 1) utiliser les valeurs fournies par le Parameters- 2) affecter le résultat du nom de la fonction- et 3) fermez la fonction avec "End Function".Apprendre à programmer en VBA ou dans toute autre langue peut prendre un certain temps et un tutoriel détaillé. Toutefois, les fonctions sont généralement de petits blocs de code et utilisent très peu les caractéristiques d'une langue. Les éléments les plus utiles du langage VBA sont:
Fonction publique Cours Résultat (grade As Integer) As String
Si grade> = 5 Puis
CourseResult = "Approuvé"
Autre
CourseResult = "Rejeté"
End If
End Function
Notez les éléments dans un Si bloc de code:
SI condition ALORS Code code AUTRE FIN SI
. Le Autre mot-clé avec la seconde partie du code sont facultatifs.Fonction publique ISPrime (valeur As Integer) As Boolean
Dim i As Integer
i = 2
ISPrime = True
Faire Du
Si la valeur / i = Int (valeur / i) Puis
ISPrime = False
End If
i = i + 1
Loop While i lt; Et la valeur ISPrime = True
End Function
Notez à nouveau les éléments:
Do While code LOOP / condition UNTIL
. Notez également la deuxième ligne dans laquelle une variable est "déclaré". Vous pouvez ajouter des variables à votre code de sorte que vous pouvez les utiliser plus tard. Variables agissent valeurs temporaires à l'intérieur du code. Enfin, notez la déclaration de la fonction As Boolean, qui est un type de données qui ne permet que les valeurs VRAI et FAUX. Cette méthode de déterminer si un nombre est premier est de loin pas le optimal, mais je ai laissé cette façon de rendre le code plus facile à lire.Fonction publique factorielle (valeur As Integer) As Long
Résultat Dim As Long
Dim i As Integer
Si la valeur = 0 Then
résultat = 1
ElseIf valeur = 1 Ensuite
résultat = 1
Autre
résultat = 1
Pour i = 1 à la valeur
résultat = résultat * i
Au Suivant
End If
Factorielle = résultat
End Function
Notez à nouveau les éléments:
POUR variable = limite inférieure au code de limite supérieure PROCHAINE
. Notez également l'ajoutée ElseIf dans l'élément Si déclaration, qui vous permet d'ajouter plus d'options pour le code qui doit être exécuté. Enfin, notez la déclaration de la fonction et la variable «résultat» que Longue. Le Longue type de données permet des valeurs beaucoup plus grande que Entier.Montré ci-dessous est le code pour une fonction qui convertit de petits nombres en mots.
6
Retour à votre classeur et utiliser la fonction en commençant par le contenu d'une cellule avec un égal signe suivi par le nom de votre fonction. Ajouter au nom de la fonction d'une parenthèse d'ouverture, les paramètres séparés par virgules et une parenthèse de fermeture définitive. Par exemple:
= NumberToLetters (A4)
Vous pouvez également utiliser votre formule définie par l'utilisateur à sa recherche dans le Défini Par L'Utilisateur catégorie dans l'assistant Insérer une formule. Il suffit de cliquer dans la Fx bouton situé à gauche de la formule paramètres bar.The peuvent être de trois types:
= NumberToLetters (A4)
Vous pouvez également utiliser votre formule définie par l'utilisateur à sa recherche dans le Défini Par L'Utilisateur catégorie dans l'assistant Insérer une formule. Il suffit de cliquer dans la Fx bouton situé à gauche de la formule paramètres bar.The peuvent être de trois types:
7
Vérifiez le résultat est OK après l'utilisation de la fonction plusieurs fois pour se assurer qu'il gère différentes valeurs de paramètres correctement: