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 z 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 Excelu”. 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 jest wartość wyświetlana po umieszczeniu wskaźnika myszy na nazwie lub komórce hiperłącza?
- (Tekst do wyświetlenia): Jaki test ma być wyświetlany w komórce? Na przykład nazwa arkusza roboczego.
Jak tworzyć hiperłącza w Excel 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” oraz w 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”, tzn. W której komórce utworzymy łącze w celu utworzenia hiperłącza 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. Tutaj musimy wspomnieć, do którego arkusza się odnosimy i pierwszą komórkę 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 wyświetlić tekst, podaj nazwę arkusza.
Kod:
Sub Hyperlink_Example1 () Worksheets ("Example 1"). Wybierz 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. 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, nie jest łatwo 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").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

Krok 9: Aby przechowywać hiperłącze każdego arkusza w innej komórce, za każdym razem, gdy tworzone jest hiperłącze dla jednego arkusza, musimy przesunąć się o jedną komórkę w dół od aktywnej komórki.
Kod:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Wybierz zakres ("A1"). Wybierz dla każdego Ws w ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0). Wybierz Next Ws End Sub

Spowoduje to utworzenie hiperłącza do wszystkich arkuszy w arkuszu indeksu. Ten kod jest dynamiczny, ilekroć następuje dodanie lub usunięcie arkuszy. Musimy uruchomić ten kod, aby mieć zaktualizowane hiperłącze.
