Hyperliens VBA

Les hyperliens sont des URL attachées à une valeur qui est vue lorsque nous passons la souris dessus et lorsque nous cliquons dessus, l'URL est ouverte, dans VBA, nous avons une propriété intégrée pour créer des hyperliens dans VBA et pour utiliser cette propriété, nous utilisons la méthode Add avec l'instruction de lien hypertexte pour insérer un lien hypertexte dans une cellule.

Hyperliens dans Excel VBA

Même si nous avons la touche de raccourci Page précédente et page suivante dans Excel pour passer d'une feuille à une autre. Mais cela devient complexe lorsque nous devons passer de 10 à plus de feuilles de calcul. C'est là que la beauté des «hyperliens dans Excel» entre en scène. Le lien hypertexte est une URL prédéterminée qui vous amène à la cellule ou à la feuille de calcul respective telle qu'attribuée.

Nous savons tous comment créer des hyperliens dans la feuille de calcul pour passer rapidement d'une feuille à une autre et vous pouvez également accéder à n'importe quelle autre feuille. Mais dans l'article d'aujourd'hui, nous allons vous montrer comment créer des hyperliens en utilisant le codage VBA.

Formule des hyperliens VBA

Regardons la formule des hyperliens dans Excel VBA.

  • Ancre: dans quelle cellule vous souhaitez créer un lien hypertexte.
  • Adresse: Quelle est l'URL du lien hypertexte pour naviguer?
  • [Sous-adresse]: quel est l'emplacement de la page?
  • [Astuce d'écran]: Quelle est la valeur à afficher lorsque vous placez un pointeur de souris sur le nom ou la cellule du lien hypertexte?
  • [Texte à afficher]: Quel est le test à afficher dans la cellule? Par exemple, le nom de la feuille de calcul.

Comment créer des hyperliens dans Excel VBA?

Vous pouvez télécharger ce modèle d'hyperliens VBA ici - Modèle d'hyperliens VBA

Supposons que vous souhaitiez créer un lien hypertexte VBA vers la feuille nommée «Feuille principale» de l'autre feuille «Exemple 1».

Dans la feuille de calcul «Exemple 1» et dans la cellule A1, je vais créer le lien hypertexte en utilisant Code dans VBA.

Étape 1: Sélectionnez d'abord la cellule A1 de la feuille de calcul Exemple 1.

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez End Sub 

Étape 2: Maintenant, en utilisant l'objet Active Cell, ouvrez les hyperliens. ajouter une méthode.

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez ActiveCell.Hyperlinks.Add (End Sub 

Étape 3: Le premier  argument est «Ancre», c'est-à-dire dans quelle cellule nous allons créer le lien hypertexte VBA. Dans ce cas, la cellule A1 et puisque nous avons déjà sélectionné la cellule A1 pour la mentionner comme «Sélection».

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez ActiveCell.Hyperlinks.Add (Selection, End Sub 

Étape 4: Nous ne créons aucune adresse ici, donc ignorez l'adresse pour le moment.

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub 

Étape 5: Vient ensuite la sous-adresse. Ici, nous devons mentionner la feuille à laquelle nous nous référons et la première cellule de cette feuille.

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Sous 

J'ai mentionné le nom de la feuille comme «Feuille principale» et dans cette feuille, l'adresse de la cellule est «A1».

Étape 6: Ignorez également l'info-bulle. Pour le texte à afficher, mentionnez le nom de la feuille.

Code:

 Sous Hyperlink_Example1 () Worksheets ("Exemple 1"). Sélectionnez Plage ("A1"). Sélectionnez ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Feuille principale" End Sub 

Ok, fait exécuter ce code en utilisant la touche F5 ou manuellement alors, il créera un lien hypertexte dans la cellule A1 de la feuille «Exemple 1».

Lorsque vous cliquez sur Hyperlien «Feuille principale», il redirige vers la feuille principale.

Hyperliens de plusieurs feuilles avec des boucles

Nous avons vu créer un lien hypertexte VBA pour une feuille. Lorsque nous avons plusieurs feuilles, il est difficile de créer un lien hypertexte VBA pour chaque feuille avec la même ligne de code pour chaque feuille.

Supposons que vous ayez 11 feuilles de calcul comme indiqué dans l'image ci-dessous.

Vous souhaitez créer un lien hypertexte pour chaque feuille de la feuille d' index à l' aide du code VBA.

Étape 1: définissez la variable en tant que feuille de calcul.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet End Sub 

Étape 2: La première chose à faire est de sélectionner l'index de la feuille de calcul et de sélectionner la cellule A1.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez End Sub 

Étape 3: Ouvrez maintenant For Each Loop dans VBA.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets Next Ws End Sub 

Étape 4: Puisque nous avons déjà sélectionné la cellule A1, c'est maintenant une cellule active. Commencez donc le lien hypertexte avec la cellule active.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add (Next Ws End Sub 

Étape 5: Anchor est une cellule de lien hypertexte. C'est donc la cellule active.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Next Ws End Sub 

Étape 6: L' adresse n'est rien, mentionnez-la comme «».

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", Next Ws End Sous 

Étape 7: La sous- adresse est lorsque nous parcourons la feuille en boucle, cela devrait être le nom de la feuille. Pour faire référence au nom de la feuille, nous avons besoin d'un guillemet simple « ' » avec le nom de la feuille et «! Adresse de la cellule »et fermez le nom de la feuille avec un guillemet simple« ' ».

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", Next Ws End Sub 

Étape 8: Ignorer l'info-bulle et pour que le texte s'affiche, vous pouvez entrer le nom de la feuille de calcul.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", info-bulle: = "", TextToDisplay: = Ws.Name Next Ws End Sub 

Étape 9: Pour stocker le lien hypertexte de chaque feuille dans une cellule différente chaque fois que le lien hypertexte est créé pour une feuille, nous devons descendre d'une cellule à partir de la cellule active.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Sélectionnez Range ("A1"). Sélectionnez For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", info-bulle: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0) .Sélectionnez Next Ws End Sub 

Cela créera un lien hypertexte de toutes les feuilles de la feuille d'index. Ce code est dynamique, chaque fois qu'il y a un ajout ou une suppression de feuilles, il suffit d'exécuter ce code pour avoir un lien hypertexte mis à jour.