Instruction Excel VBA GoTo

La déclaration VBA Goto est utilisée pour surmonter les erreurs prédites pendant que nous ajoutons et créons un énorme code de lignes dans VBA. Cette fonction dans VBA nous permet d'aller avec le code complet selon nos prédictions ou hypothèses. Avec l'aide de Goto, nous pouvons accéder à n'importe quel code de ligne ou emplacement spécifié dans VBA. Il y a deux façons de le faire que nous verrons dans les exemples à venir.

Comment utiliser la déclaration Goto Excel VBA?

Nous allons apprendre à utiliser Excel VBA Goto Statement avec quelques exemples.

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

Exemple 1

La première façon d'utiliser VBA Goto est la méthode Application.Goto . Avec l'aide de l'instruction Application.Goto, nous pouvons accéder à n'importe quel emplacement spécifique, classeur ou feuille de calcul ouvert actuellement. Cette déclaration ressemblera à celle ci-dessous.

  • (Référence): Ce n'est rien d'autre qu'une référence de cellule spécifiée. Si la référence n'est pas fournie par défaut, elle vous amènera à la dernière plage de cellules utilisée.
  • (Défilement): C'est une déclaration logique de VRAI ou FAUX. Si la valeur est TRUE, elle défilera dans la fenêtre, si la valeur est FALSE, elle ne défilera pas dans la fenêtre.

Pour cela, allez dans la fenêtre VBA et cliquez sur Module qui se trouve dans le menu Insertion comme indiqué ci-dessous.

Maintenant, il ouvrira un nouveau module. Là, écrivez la sous-catégorie d'une macro avec le nom de Goto pendant que nous effectuons ce code comme indiqué ci-dessous.

Code:

 Sub VBAGoto () End Sub 

Maintenant, écrivez Application.Goto pour activer l'application ou l'endroit où nous voulons aller.

Code:

 Sous VBAGoto () Application.Goto End Sub 

Après cela, donnez une référence à n'importe quelle feuille de calcul ou classeur et plage de cellules. Ici, nous avons donné la gamme de cellules B3 et de feuilles de travail nommées «VBA Goto».

Code:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), End Sub 

Maintenant, pour réellement aller à la cellule mentionnée, nous devons ajouter l'argument Scroll qui nous mènera directement à la cellule spécifiée. Maintenant, nous allons changer l'argument de défilement de FALSE comme indiqué ci-dessous.

Code:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), Scroll: = False End Sub 

Après avoir exécuté le code à l'aide de la touche F5 ou manuellement, nous verrons que le curseur sera déplacé vers la cellule B3 sans changer l'orientation de la feuille sélectionnée comme indiqué ci-dessous.

Maintenant, nous allons changer l'argument Scroll de FALSE à TRUE.

Code:

 Sub VBAGoto () Application.Goto Reference: = Worksheets ("VBA_Goto1"). Range ("B3"), Scroll: = True End Sub 

Initialement, nous gardons le curseur sur la cellule A5 comme indiqué ci-dessous. Exécutez maintenant le code complet à l'aide de la touche F5 ou manuellement. Nous verrons le curseur qui était à la cellule A5, est maintenant défilé vers le haut et déplacé vers la cellule B3 et l'ensemble du tableau est passé au niveau supérieur de la feuille en commençant par la même cellule que B3 comme indiqué dans la capture d'écran ci-dessous.

Exemple # 2

Il existe une autre façon d'utiliser l'argument VBA Goto. En utilisant Goto dans VBA par cet exemple, nous pouvons ignorer l'argument qui provoque une erreur. Pour cela, insérez un nouveau module dans VBA et démarrez Subcategory avec le nom de l'argument utilisé comme indiqué ci-dessous. Vous pouvez utiliser n'importe quel autre nom.

Code:

 Sub VBAGoto () End Sub 

Pour cela, nous considérerons 3 entiers X, Y et Z en ouvrant la sous-catégorie dans VBA comme indiqué ci-dessous.

Code:

 Sub VBAGoto () Dim X comme entier, Y comme entier, Z comme entier End Sub 

Considérons maintenant également une division mathématique où nous diviserons 10, 20 et 30 par 0, 2 et 4 comme indiqué ci-dessous.

Code:

 Sub VBAGoto () Dim X comme entier, Y comme entier, Z comme entier X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Si nous exécutons le code, nous obtiendrons le même message d'erreur d'erreur d'exécution 11.

Message d'erreur ci-dessus L'erreur d'exécution '11' ne survient que lorsque l'expression mathématique écrite est incorrecte. Maintenant, pour annuler cette erreur, nous allons utiliser le texte On Error GoTo avec le mot YResult pour ignorer le message d'erreur et obtenir la sortie qui fonctionne correctement, comme indiqué ci-dessous.

Pourtant, notre code n'est pas complet. L'utilisation de Goto avec l'instruction « YResult :» ne fera qu'ignorer la ligne d'erreur du code. Mais il affichera à nouveau l'erreur comme Labe non défini comme indiqué ci-dessous.

Code:

 Sub VBAGoto () Dim X comme entier, Y comme entier, Z comme entier en cas d'erreur GoTo Y Résultat: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Maintenant, pour le terminer, nous devons définir l' étiquette . L'étiquette est la partie de l'instruction dans le codage VBA, qui est utilisée lorsque nous voulons ignorer une certaine portion de code vers une ligne de code applicable définie. Comme nous avons déjà YResult avec l'argument Goto . Ensuite, nous allons insérer la même chose juste avant l'entier Y. Maintenant, exécutez à nouveau le code.

Code:

 Sub VBAGoto () Dim X comme entier, Y comme entier, Z comme entier en cas d'erreur GoTo Y Résultat: X = 10/0 Y Résultat: Y = 20/2 Z = 30/4 End Sub 

Comme vu et fait, nous n'avons reçu aucun message d'erreur ce qui signifie que notre code est correct et qu'il saute cette ligne de code qui provoquait une erreur et donne la sortie où le code correct a été écrit. Maintenant, pour imprimer le résultat du code, vous devez insérer des boîtes de message pour chaque entier avec l'argument d'aide MsgBox comme indiqué ci-dessous.

Code:

 Sous VBAGoto () Dim X comme entier, Y comme entier, Z comme entier en cas d'erreur GoTo Y Résultat: X = 10/0 Résultat Y: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Une fois terminé, exécutez le code complet pour voir la sortie. Nous produirons également la sortie de la division de chaque entier défini comme 0, 10 et 8, comme indiqué dans la capture d'écran ci-dessous.

En cas d'erreur, l'instruction GoTo YResult nous a aidés à passer directement à l'entier du point de résultat mentionné, comme nous l'avons fait pour l'entier Y. Et la sortie pour X en tant que 0 montre qu'il y avait un argument d'instruction incorrect écrit. Nous pouvons le Label avant même Z, mais cela ne nous donnerait que le résultat de Z entier. Pour X et Y, il affichera à nouveau 0 en sortie.

Avantages de VBA en cas d'erreur

  • Nous pouvons calculer n'importe quelle formule mathématique même si elle est incorrecte.
  • Pour les structures de codage plus grandes où il y a des chances ou une erreur, l'utilisation de GoTo peut donner un résultat correct même parmi la ligne de codes.
  • Cela donne un meilleur résultat par rapport au résultat obtenu à partir de calculs Excel normaux malgré un argument incorrect.

Choses dont il faut se rappeler

  • N'oubliez pas le fichier dans le fichier Excel activé par macro afin que nous puissions utiliser le code VBA créé plusieurs fois.
  • Compilez le code écrit avant de l'implémenter avec toute exigence Excel.
  • Vous pouvez affecter le code écrit à n'importe quel bouton afin que nous puissions rapidement cliquer sur le bouton et exécuter le code.
  • Utilisez l' étiquette comme indiqué dans l'exemple-2 de manière appropriée afin que nous obtenions le résultat pour le code correct complet.

Articles recommandés

Cela a été un guide pour la déclaration VBA GoTo. Ici, nous avons discuté de la façon d'utiliser la déclaration GoTo Excel VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment utiliser les boucles Excel VBA?
  2. Fonction VBA dans Excel
  3. Guide de plage dans Excel
  4. Comment utiliser la fonction VBA VLOOKUP?

Catégorie: