VBA-hyperlänkar - Hur skapar man hyperlänk i Excel med VBA-kod?

Innehållsförteckning

Hyperlänkar är URL kopplade till ett värde som syns när vi håller muspekaren över det och när vi klickar på det öppnas URL: en, i VBA har vi en inbyggd egenskap för att skapa hyperlänkar i VBA och för att använda den här egenskapen använder vi Lägg till metod tillsammans hyperlänkuttrycket för att infoga en hyperlänk i en cell.

Hyperlänkar i Excel VBA

Även om vi har Page Up & Page Down snabbtangent i Excel för att flytta mellan ett ark till ett annat, men det blir komplicerat när vi måste flytta mellan 10 till fler kalkylblad. Det är här skönheten i "Hyperlänkar i Excel" kommer in i bilden. Hyperlänken är en förutbestämd URL som tar dig till respektive cell eller kalkylblad enligt tilldelning.

Vi vet alla hur man skapar hyperlänkar i kalkylbladet för att snabbt flytta från ett ark till ett annat ark, och du kan också gå till vilket annat ark som helst. Men i dagens artikel kommer vi att visa dig hur du skapar hyperlänkar med hjälp av VBA-kodning.

Formeln för VBA-hyperlänkar

Låt oss titta på formeln för hyperlänkar i Excel VBA.

  • Ankare: I vilken cell du vill skapa en hyperlänk.
  • Adress: Vad är webbadressen till hyperlänken som ska navigeras?
  • (Underadress): Hur ser sidan ut?
  • (Skärmtips): Vad är värdet som ska visas när du placerar en muspekare på hyperlänkens namn eller cell?
  • (Text som ska visas): Vilket test ska visas i cellen? Till exempel kalkylbladets namn.

Hur skapar man hyperlänkar i Excel VBA?

Antag att du vill skapa en VBA-hyperlänk till arket med namnet "Main Sheet" från det andra arket "Exempel 1".

I kalkylbladet "Exempel 1" och i cellen A1 skapar jag hyperlänken med hjälp av Kod i VBA.

Steg 1: Välj först cellen A1 i kalkylbladet Exempel 1.

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj End Sub

Steg 2: Nu, med hjälp av Active Cell-objekt öppna hyperlänkar. Lägg till metod.

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj ActiveCell.Hyperlinks.Add (End Sub

Steg 3: Det första argumentet är "Ankare", dvs i vilken cell vi skulle länka för att skapa VBA-hyperlänken. I det här fallet, cell A1 och eftersom vi redan har valt cell A1 för att nämna det som "Selection."

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj ActiveCell. Hyperlänkar. Lägg till (markering, avsluta sub

Steg 4: Vi skapar ingen adress här, så ignorera adress från och med nu.

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub

Steg 5: Nästa är underadress. Här måste vi nämna vilket ark vi hänvisar till och den första cellen i det arket.

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Sub

Jag har nämnt bladnamnet som "Main Sheet" och i det arket är celladressen "A1".

Steg 6: Ignorera också skärmtips. För att text ska visas, ange arkenamnet.

Koda:

Sub Hyperlink_Example1 () Kalkylblad ("Exempel 1"). Välj intervall ("A1"). Välj ActiveCell. Hyperlänkar. Lägg till ankare: = urval, adress: = "", underadress: = "" Huvudblad "! A1", TextToDisplay : = "Main Sheet" End Sub

OK, kör den här koden med F5-tangenten eller manuellt. Sedan skapas en hyperlänk i cellen A1 i arket "Exempel 1".

När du klickar på Hyperlink "Main Sheet" omdirigeras det till huvudarket.

Hyperlänkar av flera ark med öglor

Vi har sett skapa en VBA-hyperlänk för ett ark. När vi har många ark är det inte lätt att skapa en VBA-hyperlänk för varje ark med samma kodrad för varje ark.

Antag att du har 11 kalkylblad, som visas i bilden nedan.

Du vill skapa en hyperlänk för varje ark i indexbladet med VBA-kod.

Steg 1: Definiera variabeln som ett kalkylblad.

Koda:

Sub Create_Hyperlink () Dim Ws As Worksheet End Sub

Steg 2: Det första är att välja kalkylbladet Index och välja cellen A1.

Koda:

Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select End Sub

Step 3: Now open For Each Loop 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 to 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

Steg 9: För att lagra hyperlänken för varje ark i en annan cell måste vi flytta ner en cell från den aktiva cellen varje gång en hyperlänk skapas för ett ark.

Koda:

Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Välj Range ("A1"). Välj för varje Ws i ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0). Välj Nästa Ws End Sub

Detta skapar en hyperlänk till alla ark i indexarket. Den här koden är dynamisk när det läggs till eller tas bort ark. Vi måste köra den här koden för att ha en uppdaterad hyperlänk.

Intressanta artiklar...