Déclaration VBA GoTo

Déclaration GoTo Excel VBA

L' instruction VBA GoTo est utilisée lorsqu'une erreur se produit lors de l'exécution du code plutôt que d'afficher une erreur pour reprendre la ligne de code suivante en ignorant le message d'erreur. Il existe deux types d'instructions GOTO, l'une consiste à sélectionner n'importe quelle plage de la feuille de calcul dans le classeur spécifié et l'autre est le gestionnaire d'erreurs.

Afin de surmonter les erreurs anticipées dans VBA, nous avons une fonction appelée «GOTO». Nous verrons les deux types d'instructions GoTo dans cet article.

2 façons d'utiliser la déclaration GoTo dans le code VBA

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

# 1 - Méthode Application.GoTo

Si vous souhaitez accéder au classeur spécifique ou à la feuille de calcul spécifique de tous les classeurs ouverts, nous pouvons utiliser la méthode Application.GoTo.

Regardons la syntaxe de la méthode Application.GoTo

  • [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, vous serez redirigé vers la dernière plage de cellules utilisée.
  • [Scroll]: Ceci est une déclaration logique de TRUE ou FALSE. 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.
Exemple

Si vous souhaitez accéder à une cellule spécifique de la feuille de calcul spécifique, nous pouvons utiliser la méthode Goto. J'ai 3 feuilles nommées janvier, février et mars.

Maintenant, si je veux accéder à la cellule C5 de la feuille de janvier, j'utiliserai l'ensemble de code ci-dessous.

Étape 1: démarrez le nom de la macro Excel.

Code:

 Sub GoTo_Example1 () End Sub 

Étape 2: Démarrez la méthode « Application.GoTo »

Code:

Sous GoTo_Example1 ()

Application.Goto

End Sub

Étape 3: Dans l'argument de référence, nous devons spécifier le nom de la feuille de calcul et dans cette feuille de calcul, nous devons mentionner la cellule spécifique.

Code:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5") End Sub 

Étape 4: mentionnez le parchemin comme TRUE.

Code:

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = True End Sub 

Étape 5: Exécutez maintenant ce code à l'aide de la touche F5 ou vous pouvez également exécuter ce code manuellement, il vous mènera à la feuille et à la cellule spécifiées.

Maintenant, je vais changer l'argument de défilement en FALSE et voir le changement qu'il rencontrera.

 Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

Si vous souhaitez accéder à un classeur spécifique, vous devez également mentionner le nom du classeur avant le nom du classeur.

 Sub GoTo_Example1 () Application.Goto Reference: = Workbooks ("Book1.xlsx"). Worksheets ("Jan"). Range ("C5"), Scroll: = False End Sub 

# 2 - Méthode du gestionnaire d'erreur

Lorsque la ligne de code particulière rencontre une erreur, VBA arrête d'exécuter le reste du code et affiche le message d'erreur.

Par exemple, regardez la ligne de code ci-dessous.

 Sub GoTo_Example2 () Sheets ("April"). Supprimer Sheets.Add End Sub 

Le code ci-dessus indique de supprimer la feuille d'avril et d'ajouter une nouvelle feuille. Dans le classeur actif, s'il existe un nom de feuille appelé April, il sera supprimé ou bien il affichera la boîte de dialogue de message d'erreur ci-dessous.

Lorsque j'exécute ce code, mon classeur n'avait pas de feuille appelée April, donc le code VBA n'a pas pu trouver le nom de la feuille et lève l'erreur. Parfois, nous devons ignorer cette erreur car, souvent, s'il n'y a pas de nom de feuille appelé April, nous devons continuer avec les autres lignes de code.

Pour éliminer cette erreur, nous pouvons utiliser la méthode GoTo comme gestionnaire d'erreurs.

Maintenant, je vais modifier le code en cas d'erreur, passez à la ligne suivante

 Sub GoTo_Example2 () En cas d'erreur GoTo NextLine Sheets ("April"). Supprimer NextLine: Sheets.Add End Sub 

Maintenant, si vous exécutez cela, il ajoutera la nouvelle feuille même s'il n'y a pas de nom de feuille appelé April.

L'instruction «On Error GoTo NextLine» comprend que si une erreur se produit, elle passera à la ligne suivante et à la ligne suivante, le code VBA ajoutera une nouvelle feuille.

Choses à retenir

  • Si vous souhaitez passer à la ligne suivante lorsque l'erreur se produit, vous pouvez également utiliser l'instruction On Error Resume Next VBA.
  • Pour passer à la suivante, vous devez vous assurer que cette ligne de code particulière est attendue comme une erreur.
  • Si la ligne importante du code saute avec ce gestionnaire d'erreurs, votre tâche peut ne pas être parfaitement terminée.