Introduction à Excel VBA Call Sub

Dans VBA, nous avons une fonction comme CALL, qui est utilisée pour appeler les valeurs stockées dans une autre sous-catégorie ou sous-procédure. Supposons que nous ayons écrit un code quelque part dans un classeur, maintenant lors de l'écriture d'un autre code, nous avons besoin du même code écrit plus tôt. Ainsi, au lieu d'écrire à nouveau le même code, nous pouvons appeler ce code complet ou cette procédure Sub dans la sous-catégorie ou la procédure Sub actuelle. Cela peut éviter de faire la même activité du classeur encore et encore.

Comment appeler Sub dans Excel VBA?

Voici les différents exemples pour appeler Sub dans Excel VBA:

Vous pouvez télécharger ce modèle Excel sous-appel VBA ici - Modèle Excel sous-appel VBA

Sous-appel Excel VBA - Exemple # 1

Tout d'abord, voyons un exemple unique où nous APPELERONS une sous-catégorie de code ou une procédure déjà écrite. Pour cela, nous avons besoin d'un module.

Allez dans la fenêtre VBA et sous l'option de menu Insérer, cliquez sur Module comme indiqué ci-dessous.

Après cela, nous obtiendrons une page ou une fenêtre vierge de Module. Maintenant, écrivez une sous-catégorie de code que nous effectuons ou sous tout autre nom, comme indiqué ci-dessous.

Code:

 Sous-appel () End Sub 

Utilisez maintenant une commande de la boîte de message et tapez le texte ou le mot que vous souhaitez voir dans la boîte de message. Ici, nous utilisons « First » comme indiqué ci-dessous.

Code:

 Sub Calling () MsgBox ("First") End Sub 

Maintenant, compilez le code et exécutez-le en cliquant sur le bouton Lecture qui se trouve sous la barre de menu. Nous verrons une boîte de message contenant le message « First » comme indiqué ci-dessous.

Maintenant, après la fin dans le même module, écrivez une autre sous-catégorie ou procédure sous n'importe quel nom, comme indiqué ci-dessous.

Code:

 Sub Arriving () End Sub 

Dans ce cas, utilisez à nouveau la commande MsgBox et donnez-lui un message ou un texte selon votre choix. Ici, nous lui avons donné " Deuxième " comme indiqué ci-dessous.

Code:

 Sub Arriving () MsgBox ("Second") End Sub 

Maintenant, si nous exécutons le code complet, nous obtiendrons la sortie de la dernière sous-catégorie uniquement, qui est une boîte de message contenant le message « Second », comme indiqué ci-dessous.

Voici la fonction CALL, que nous utiliserons pour appeler les deux messages un par un. Cela sera utilisé dans la première sous-catégorie.

Pour ce type, appelez dans la première sous-catégorie avant Fin, suivi du nom de la sous-catégorie dont nous voulons appeler le code. Ci-après MsgBox, nous utilisons Call suivi d' Arriving qui est le nom de la sous-catégorie du code écrit ci-dessous.

Code:

 Sub Calling () MsgBox ("First") Call Arriving End Sub Sub Arriving () MsgBox ("Second") End Sub 

Maintenant, compilez le code complet du début à la fin et exécutez-le. Nous verrons la boîte de message nommée avec le message «First». Cliquez maintenant sur Ok pour continuer. Une fois que nous aurons fait cela, nous obtiendrons la deuxième boîte de message contenant le message « Second » comme indiqué ci-dessous. Et si vous cliquez à nouveau sur Ok, cela quittera la procédure.

Que se passe-t-il si nous changeons la position de la fonction d'appel d'avant la fin à la première sous-catégorie, comme indiqué ci-dessous? Maintenant, exécutons à nouveau le code complet.

Code:

 Sous-appel () MsgBox d'arrivée d'appel ("First") End Sub Sous-arrivée () MsgBox ("Second") End Sub 

Il affichera le message stocké dans la deuxième sous-procédure en premier, qui est « Second », suivi du message « First » lorsque nous cliquons sur Ok, comme indiqué ci-dessous.

Donc, tout dépend de nous, quelle sous-procédure ou catégorie que nous voulons appeler en premier.

Sous-appel Excel VBA - Exemple # 2

Voyons un autre exemple où nous utiliserons une fonction Call pour appeler différentes sous-catégories. Pour cela, nous avons besoin d'un nouveau module. Ouvrez un module dans le menu Insertion. Et il donne une sous-catégorie dans n'importe quel nom, comme indiqué ci-dessous.

Code:

 Sub VBACall () End Sub 

Définissez 3 variables Num1, Num2 et Ans1 dans DIM et affectez-les ensuite avec Long . Nous pouvons également utiliser Integer ou Double, selon son utilisation. Long nous permettra de considérer n'importe quelle longueur de nombre.

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long End Sub 

Donnez maintenant Num1 et Num2 n'importe quel nombre de votre choix. Nous leur avons donné 100 et 50 respectivement. La considération de 100 et 50 nous aidera à identifier rapidement la sortie.

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 End Sub 

Utilisez maintenant la formule de multiplication pour multiplier les magasins de nombres dans Num1 et Num2 et stocker leur réponse dans la variable Ans1 comme indiqué ci-dessous.

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

Dans la ligne de code suivante, nous utiliserons l'objet VBA. Pour cela, sélectionnez la feuille avec la commande Feuille de calcul et donnez-lui une plage de n'importe quelle cellule. Nous avons sélectionné la cellule de plage comme B1. Et enfin, imprimez le résultat avec un nom tel que Résultat ou Réponse comme indiqué ci-dessous.

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Feuilles de travail (1) .Range ("B1"). Value = "Answer" End Sub 

Donnez-lui maintenant l'emplacement où nous voulons voir la réponse de la même manière que ci-dessus. Ici, nous choisissons la cellule C1 comme cellule de sortie et mettons ici la dernière variable Ans1 .

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Answer" Worksheets (1) .Range ("C1"). Valeur = Ans1 End Sub 

Exécutez maintenant le code. Nous verrons un résultat de multiplication à la cellule C1.

Écriture d'une autre sous-catégorie sous le même code après la fin.

Code:

 Sub VBACall2 () End Sub 

Définissez à nouveau 3 variables Num3, Num4 et Ans2 dans DIM et affectez-les ensuite avec Long.

Code:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long End Sub 

Donnez à Num3 et Num4 les mêmes valeurs que 100 et 50 et ajoutez les deux nombres.

Code:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Utilisez maintenant l'objet VBA de la même manière que ci-dessus et donnez ensuite la cellule range comme B2 pour Answer et C2 pour la sortie de Ans2 .

Code:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Worksheets (1) .Range ("B2"). Value = "Answer" Worksheets (1) .Range ("C2"). Valeur = Ans2 End Sub 

Pour appeler les deux résultats un par un, utilisez la fonction Appel qui lui donne le nom de la 2 e sous-catégorie comme indiqué ci-dessous.

Code:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Answer" Worksheets (1) .Range ("C1"). Value = Ans1 Call VBACall2 End Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Worksheets (1) .Range ("B2" ) .Value = "Answer" Feuilles de travail (1) .Range ("C2"). Value = Ans2 End Sub 

Maintenant, compilez le code entier et exécutez. Nous serons les premiers à la cellule C2, nous avons obtenu le résultat de la multiplication et à la cellule C3, un résultat de l'addition.

Pour connaître la séquence appropriée, nous pouvons utiliser la commande MsgBox telle qu'utilisée dans l'exemple-1 et voir quelles valeurs sont appelées à quelle séquence.

Avantages d'Excel VBA Call Sub

  • VBA Call Sub fait gagner du temps en écrivant le même code encore et encore.
  • L'appel du magasin de sous-procédures VBA dans le même fichier Excel réduit également la taille du fichier Excel.

Choses dont il faut se rappeler

  • Utilisez la boîte de message à des fins de test pour voir l'exécution séquentielle de plusieurs codes.
  • Compilez les lignes de code plus grandes en appuyant sur la touche F8 afin que la partie d'erreur puisse être identifiée.
  • Enregistrez le fichier au format Macro Enable Excel pour conserver le code écrit.
  • L'utilisation de CALL avant la fin exécutera le premier code en premier et après la première sous-procédure, le premier code sera exécuté en premier.

Articles recommandés

Ceci est un guide de VBA Call Sub. Ici, nous discutons de la façon d'appeler Sub dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA faire jusqu'à la boucle
  2. Formule de sous-total dans Excel
  3. VBA While Loop
  4. Fonction Excel de sous-chaîne

Catégorie: