La différence entre une fonction et un sous VBA dans Excel est qu’une fonction peut renvoyer une valeur alors qu’un sous ne peut pas. Fonctions et sous-marins deviennent très utiles que l’augmentation de la taille du programme.

Fonction

Si vous voulez Excel VBA pour effectuer une tâche qui renvoie un résultat, vous pouvez utiliser une fonction. Placez une fonction dans un module (Dans l’éditeur Visual Basic, cliquez sur Insérer, Module). Par exemple, la fonction avec zone de nom.

Function Area(x As Double, y As Double) As Double

Area = x  y

End Function

Explication: Cette fonction a deux arguments (de type double) et un type de retour (la partie après Comme aussi de type double). Vous pouvez utiliser le nom de la fonction (zone) dans votre code pour indiquer le résultat que vous souhaitez revenir (ici x y).

Vous pouvez maintenant se référer à cette fonction (en d’autres termes appellent la fonction) d’ailleurs dans votre code en utilisant simplement le nom de la fonction et de donner une valeur pour chaque argument.

Placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez les lignes de code suivantes:

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

Explication: La fonction retourne une valeur que vous avez à cette valeur « attraper » dans votre code. Vous pouvez utiliser cette autre variable (z). Ensuite, vous pouvez ajouter une autre valeur à cette variable (si vous voulez). Enfin, affichez la valeur à l’aide d’un MsgBox.

Lorsque vous cliquez sur le bouton de commande sur la feuille:

Excel VBA Function Result

Sous

Si vous voulez Excel VBA pour effectuer certaines actions, vous pouvez utiliser un sous. Placez un sous dans un module (Dans l’éditeur Visual Basic, cliquez sur Insérer, Module).

Par exemple, le sous avec zone de nom.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Explication: Ce sous a deux arguments (de type double). Il ne dispose pas d’un type de retour! Vous pouvez vous référer à ce sous (appeler le sous) d’ailleurs dans votre code en utilisant simplement le nom du sous et de donner une valeur pour chaque argument.

Placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez la ligne de code suivant:

Area 3, 5

Lorsque vous cliquez sur le bouton de commande sur la feuille:

Excel VBA Sub Result

Pouvez-vous voir la différence entre la fonction et le sous? La fonction retourne la valeur 15. Nous avons ajouté la valeur 2 à ce résultat et affiché le résultat final. Quand nous avons appelé le sous nous n’avions pas plus de contrôle sur le résultat (15), car un sous ne peut pas retourner une valeur!