Хипервръзки на VBA - Как да създам хипервръзка в Excel с помощта на VBA код?

Хипервръзките са URL, прикрепен към стойност, която се вижда, когато задържим курсора на мишката върху нея и когато щракнем върху нея, URL адресът се отваря, във VBA имаме вградено свойство за създаване на хипервръзки във VBA и за използване на това свойство използваме метода Add заедно изявлението за хипервръзка за вмъкване на хипервръзка в клетка.

Хипервръзки в Excel VBA

Въпреки че имаме клавиш за бърз достъп Page Up и Page Down в Excel, за да се придвижваме от един лист на друг, но става сложен, когато трябва да преместваме между 10 и повече работни листове. Тук се появява красотата на „Хипервръзки в Excel“. Хипервръзката е предварително определен URL адрес, който ви отвежда до съответната клетка или работен лист, както е зададено.

Всички знаем как да създадем хипервръзки в работния лист, за да се придвижваме бързо от един лист на друг лист и можете да отидете и на всеки друг лист. Но в днешната статия ще ви покажем как да създавате хипервръзки с помощта на VBA кодиране.

Формулата на хипервръзки VBA

Нека разгледаме формулата на хипервръзките в Excel VBA.

  • Котва: В коя клетка искате да създадете хипервръзка.
  • Адрес: Какъв е URL адресът на хипервръзката за навигация?
  • (Sub Address): Какво е местоположението на страницата?
  • (Съвет на екрана): Каква е стойността, която трябва да се покаже, когато поставите показалец на мишката върху името или клетката на хипервръзката?
  • (Текст за показване): Какъв тест трябва да се покаже в клетката? Например Име на работен лист.

Как да създам хипервръзки в Excel VBA?

Да предположим, че искате да създадете хипервръзка VBA към листа с име „Основен лист“ от другия лист „Пример 1“.

В работния лист „Пример 1“ и в клетката А1 ще създам хипервръзката, използвайки код в VBA.

Стъпка 1: Първо изберете клетка А1 на работен лист Пример 1.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете End Sub

Стъпка 2: Сега, като използвате Active Cell отворени хипервръзки. Добавяне на метод.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете ActiveCell.Hyperlinks.Add (End Sub

Стъпка 3: Първият аргумент е „Anchor“, т.е. в коя клетка ще свържем, за да създадем хипервръзката VBA. В този случай клетка А1 и тъй като вече сме избрали клетка А1 да я споменем като „Избор“.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете ActiveCell.Hyperlinks.Add (Selection, End Sub

Стъпка 4: Тук не създаваме никакъв адрес, така че игнорирайте Адрес отсега.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub

Стъпка 5: Следващ е Sub Address. Тук трябва да споменем към кой лист се отнасяме и първата клетка на този лист.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Под

Споменах името на листа като „Основен лист“ и в него адресът на клетката е „А1“.

Стъпка 6: Игнорирайте и съвет на екрана. За да се покаже Текст, споменете името на листа.

Код:

Sub Hyperlink_Example1 () Работни листове ("Пример 1"). Изберете диапазон ("A1"). Изберете ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Основен лист" Крайна под

Добре, изпълнете този код с помощта на клавиша F5 или ръчно. След това ще създаде хипервръзка в клетка А1 в листа „Пример 1“.

Когато кликнете върху хипервръзка „Основен лист“, тя се пренасочва към основния лист.

Хипервръзки на множество листове с цикли

Виждали сме създаване на хипервръзка VBA за един лист. Когато имаме много листове, не е лесно да създадем хипервръзка VBA за всеки лист със същия ред код за всеки лист.

Да приемем, че имате 11 работни листа, както е показано на изображението по-долу.

Искате да създадете хипервръзка за всеки лист в индексния лист, като използвате VBA код.

Стъпка 1: Дефинирайте променливата като работен лист.

Код:

Sub Create_Hyperlink () Dim Ws As Worksheet End Sub

Стъпка 2: Първото нещо е да изберете индекса на работния лист и да изберете клетката А1.

Код:

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

Стъпка 9: За да съхраним хипервръзката на всеки лист в различна клетка, всеки път, когато се създава хипервръзка за един лист, трябва да се преместим с една клетка надолу от активната клетка.

Код:

Sub Create_Hyperlink () Dim Ws As Worksheet Worksheets ("Index"). Изберете диапазон ("A1"). Изберете за всеки Ws в ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0). Изберете Next Ws End Sub

Това ще създаде хипервръзка на всички листове в индексния лист. Този код е динамичен, когато има добавяне или изтриване на листове. Трябва да стартираме този код, за да имаме актуализирана хипервръзка.

Интересни статии...