VBA-hyperlinks

Hyperlinks zijn URL's die zijn gekoppeld aan een waarde die wordt gezien wanneer we er met de muis overheen bewegen en wanneer we erop klikken, wordt de URL geopend, in VBA hebben we een ingebouwde eigenschap om hyperlinks in VBA te maken en om deze eigenschap te gebruiken gebruiken we de methode Toevoegen samen met de hyperlinkinstructie om een ​​hyperlink in een cel in te voegen.

Hyperlinks in Excel VBA

Ook al hebben we een Page Up & Page Down sneltoets in Excel om van het ene blad naar het andere te gaan. Maar het wordt ingewikkeld als we tussen 10 en meer werkbladen moeten gaan. Dit is waar de schoonheid van "Hyperlinks in Excel" in beeld komt. De hyperlink is een vooraf bepaalde URL die u naar de respectieve cel of het werkblad brengt zoals toegewezen.

We weten allemaal hoe we hyperlinks in het werkblad moeten maken om snel van het ene blad naar het andere blad te gaan en u kunt ook naar elk ander blad gaan. Maar in het artikel van vandaag laten we u zien hoe u hyperlinks kunt maken met behulp van VBA-codering.

Formule van VBA-hyperlinks

Laten we eens kijken naar de formule van de hyperlinks in Excel VBA.

  • Anker: in welke cel u een hyperlink wilt maken.
  • Adres: wat is de URL naar de hyperlink om te navigeren?
  • [Subadres]: Wat is de locatie van de pagina?
  • [Schermtip]: Wat is de waarde die moet worden weergegeven als u een muisaanwijzer op de hyperlinknaam of cel plaatst?
  • [Weer te geven tekst]: Wat is de test die in de cel moet worden weergegeven? Bijvoorbeeld werkbladnaam.

Hoe hyperlinks maken in Excel VBA?

U kunt deze VBA-hyperlinksjabloon hier downloaden - VBA-hyperlinksjabloon

Stel dat u een VBA-hyperlink wilt maken naar het blad met de naam "Hoofdblad" van het andere blad "Voorbeeld 1".

In het werkblad "Voorbeeld 1" en in de cel A1 ga ik de hyperlink maken met behulp van Code in VBA.

Stap 1: Selecteer eerst cel A1 van werkblad Voorbeeld 1.

Code:

 Sub Hyperlink_Example1 () Worksheets ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer End Sub 

Stap 2: Nu met behulp van Active Cell-object hyperlinks openen. voeg methode toe.

Code:

 Sub Hyperlink_Example1 () Worksheets ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer ActiveCell.Hyperlinks.Add (End Sub 

Stap 3: Het eerste  argument is "Anker", dwz in welke cel we zouden linken om de VBA-hyperlink te maken. In dit geval cel A1 en aangezien we cel A1 al hebben geselecteerd om het als "Selectie" te vermelden.

Code:

 Sub Hyperlink_Example1 () Werkbladen ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer ActiveCell.Hyperlinks.Add (Selectie, End Sub 

Stap 4: We maken hier geen adres aan, dus negeer Adres vanaf nu.

Code:

 Sub Hyperlink_Example1 () Werkbladen ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer ActiveCell.Hyperlinks. Anker toevoegen: = Selectie, Adres: = "", End Sub 

Stap 5: Het volgende is het subadres. Hier moeten we vermelden naar welk blad we verwijzen en de eerste cel van dat blad.

Code:

 Sub Hyperlink_Example1 () Worksheets ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer ActiveCell.Hyperlinks.Add Anchor: = Selectie, Adres: = "", Subadres: = "'Hoofdblad'! A1", End Sub 

Ik heb de bladnaam genoemd als "Hoofdblad" en in dat blad is het celadres "A1".

Stap 6: Negeer ook de schermtip. Vermeld bij Tekst om weer te geven de bladnaam.

Code:

 Sub Hyperlink_Example1 () Werkbladen ("Voorbeeld 1"). Selecteer Bereik ("A1"). Selecteer ActiveCell.Hyperlinks.Add Anchor: = Selectie, Adres: = "", Subadres: = "'Hoofdblad'! A1", TextToDisplay : = "Main Sheet" End Sub 

Oké, klaar om deze code uit te voeren met de F5-toets of handmatig, dan zal het een hyperlink maken in de cel A1 in het blad "Voorbeeld 1".

Wanneer u op Hyperlink "Hoofdblad" klikt, wordt doorgestuurd naar het hoofdblad.

Hyperlinks van meerdere bladen met loops

We hebben gezien dat er een VBA-hyperlink voor één blad is gemaakt. Als we veel bladen hebben, is het moeilijk om voor elk blad een VBA-hyperlink te maken met dezelfde regel code voor elk blad.

Stel dat u 11 werkbladen heeft, zoals weergegeven in de onderstaande afbeelding.

U wilt een hyperlink voor elk blad in het creëren Index sheet met behulp van VBA-code.

Stap 1: Definieer de variabele als een werkblad.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet End Sub 

Stap 2: Het eerste is om de werkbladindex te selecteren en de cel A1 te selecteren.

Code:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Selecteer Bereik ("A1"). Selecteer End Sub 

Stap 3: Open nu voor elke lus in VBA.

Code:

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

Step 4: Since we have already selected the cell A1 it is now an active cell. So start the hyperlink with the active cell.

Code:

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

Step 5: Anchor is a hyperlink cell. So it is the active cell.

Code:

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

Step 6: Address is nothing mention it as “”.

Code:

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

Step 7: Subaddress is when we loop through the sheet it should be the sheet name. To refer the sheet name we need a single quote “” with sheet name and “! Cell Address” and close the sheet name with a single quote “”.

Code:

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

Step 8: Ignore Screen tip and for Text to display you can enter the worksheet name.

Code:

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

Step 9: To store the hyperlink of each sheet in a different cell every time hyperlink created for one sheet we need to move down one cell from the active cell.

Code:

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

This will create a hyperlink of all the sheets in the Index sheet. This code is dynamic, whenever there is any addition or deletion of sheets we just need to run this code to have an updated hyperlink.