Hiperłącza VBA

Hiperłącza to adres URL dołączony do wartości, która jest widoczna po najechaniu na nią kursorem myszy i kliknięciu na nią otwiera się adres URL, w VBA mamy wbudowaną właściwość do tworzenia hiperłączy w VBA i aby użyć tej właściwości używamy metody Add razem instrukcja hyperlink, aby wstawić hiperłącze do komórki.

Hiperłącza w Excel VBA

Mimo że w programie Excel mamy klawisz skrótu Page Up i Page Down, aby poruszać się między arkuszami. Ale staje się to skomplikowane, gdy musimy przejść od 10 do większej liczby arkuszy. W tym miejscu pojawia się piękno „Hiperłączy w programie Excel”. Hiperłącze to z góry określony adres URL, który prowadzi do odpowiedniej przypisanej komórki lub arkusza.

Wszyscy wiemy, jak tworzyć hiperłącza w arkuszu, aby szybko przechodzić z jednego arkusza do drugiego, a także możesz przejść do dowolnego innego arkusza. Ale w dzisiejszym artykule pokażemy, jak tworzyć hiperłącza za pomocą kodowania VBA.

Formuła hiperłączy VBA

Spójrzmy na formułę hiperłączy w Excel VBA.

  • Kotwica: w której komórce chcesz utworzyć hiperłącze.
  • Adres: Jaki jest adres URL hiperłącza, po którym należy się poruszać?
  • [Adres pomocniczy ]: Jaka jest lokalizacja strony?
  • [Wskazówka ekranowa]: Jaka wartość zostanie wyświetlona po umieszczeniu wskaźnika myszy na nazwie lub komórce hiperłącza?
  • [Tekst do wyświetlenia]: Jaki test ma zostać wyświetlony w komórce? Na przykład nazwa arkusza roboczego.

Jak tworzyć hiperłącza w Excel VBA?

Możesz pobrać ten szablon hiperłączy VBA tutaj - szablon hiperłączy VBA

Załóżmy, że chcesz utworzyć hiperłącze VBA do arkusza o nazwie „Arkusz główny” z drugiego arkusza „Przykład 1”.

W arkuszu „Przykład 1” iw komórce A1 utworzę hiperłącze za pomocą kodu w języku VBA.

Krok 1: Najpierw wybierz komórkę A1 arkusza roboczego Przykład 1.

Kod:

 Sub Hyperlink_Example1 () Worksheets („Example 1”). Wybierz Range („A1”). Select End Sub 

Krok 2: Teraz używając otwartych hiperłączy do obiektu Active Cell. dodaj metodę.

Kod:

 Sub Hyperlink_Example1 () Worksheets („Example 1”). Wybierz Range („A1”). Select ActiveCell.Hyperlinks.Add (End Sub 

Krok 3: Pierwszym  argumentem jest „Kotwica”, tj. W której komórce utworzymy hiperłącze VBA. W tym przypadku komórka A1 i ponieważ już wybraliśmy komórkę A1, aby wspomnieć o niej jako „Zaznaczenie”.

Kod:

 Sub Hyperlink_Example1 () Worksheets („Example 1”). Select Range („A1”). Select ActiveCell.Hyperlinks.Add (Selection, End Sub 

Krok 4: Nie tworzymy tutaj żadnego adresu, więc od teraz zignoruj ​​Adres.

Kod:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Select Range ("A1"). Select ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub 

Krok 5: Następny jest adres podrzędny. W tym miejscu musimy wspomnieć, do którego arkusza się odnosimy i do pierwszej komórki tego arkusza.

Kod:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Select Range ("A1"). Select ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Pod 

Wspomniałem nazwę arkusza jako „Arkusz główny”, aw komórce tego arkusza adres to „A1”.

Krok 6: Zignoruj ​​również wskazówkę ekranową. Aby tekst był wyświetlany, podaj nazwę arkusza.

Kod:

 Sub Hyperlink_Example1 () Worksheets ("Example 1"). Select Range ("A1"). Select ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Arkusz główny" End Sub 

Ok, gotowe, uruchom ten kod za pomocą klawisza F5 lub ręcznie, a następnie utworzy hiperłącze w komórce A1 w arkuszu „Przykład 1”.

Kliknięcie hiperłącza „Arkusz główny” powoduje przekierowanie do arkusza głównego.

Hiperłącza wielu arkuszy z pętlami

Widzieliśmy tworzenie hiperłącza VBA dla jednego arkusza. Kiedy mamy wiele arkuszy, trudno jest utworzyć hiperłącze VBA dla każdego arkusza z tą samą linią kodu dla każdego arkusza.

Załóżmy, że masz 11 arkuszy roboczych, jak pokazano na poniższym obrazku.

Chcesz utworzyć hiperłącze dla każdego arkusza w arkuszu indeksu przy użyciu kodu VBA.

Krok 1: Zdefiniuj zmienną jako arkusz.

Kod:

 Sub Create_Hyperlink () Dim Ws As Worksheet End Sub 

Krok 2: Pierwszą rzeczą jest wybranie indeksu arkusza roboczego i zaznaczenie komórki A1.

Kod:

 Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets („Index”). Wybierz zakres („A1”). Wybierz End Sub 

Krok 3: Teraz otwórz dla każdej pętli w VBA.

Kod:

 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.