Excel VBA создает гиперссылку на другой лист

Простой вопрос, я надеюсь, но исследования только подняли сообщения форума, которые дают стек кода, не объясняя ничего из этого.

Первый лист моей книги похож на страницу содержимого. Каждая ячейка в столбце A содержит строку IP-адреса. Для каждого IP-адреса существует отдельный лист, который называется с IP-адресом. Я хочу повернуть ячейки в столбце A страницы содержимого в гиперссылки на свои соответствующие листы (ячейка A1 листа адресата).

Мне нужна только линия VBA, которая делает гиперссылку; Я могу вычислить цикл и т. Д. Помните, что имя страницы, к которой нужно привязать, точно такое же, как значение ячейки, которая станет ссылкой.

Я записал макрос, создающий гиперссылку. В результате.

 ActiveCell.FormulaR1C1 = "=HYPERLINK(""[Workbook.xlsx]Sheet1!A1"",""CLICK HERE"")" 

Это код, который я использую для создания индексной таблицы.

 Sub CreateIndexSheet() Dim wSheet As Worksheet ActiveWorkbook.Sheets.Add(Before:=Worksheets(1)).Name = "Contents" 'Call whatever you like Range("A1").Select Application.ScreenUpdating = False 'Prevents seeing all the flashing as it updates the sheet For Each wSheet In Worksheets ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=wSheet.Name & "!A1", TextToDisplay:=wSheet.Name ActiveCell.Offset(1, 0).Select 'Moves down a row Next Range("A1").EntireColumn.AutoFit Range("A1").EntireRow.Delete 'Remove content sheet from content list Application.ScreenUpdating = True End Sub 

Надеюсь, это поможет кому-то

Что-то вроде следующего будет проходить через столбец А в Листе управления и превращать значения в ячейки в гиперссылки. Не то, что я должен был сделать раньше, поэтому, пожалуйста, извините ошибки:

 Sub CreateHyperlinks() Dim mySheet As String Dim myRange As Excel.Range Dim cell As Excel.Range Set myRange = Excel.ThisWorkbook.Sheets("Control").Range("A1:A5") '<<adjust range to suit For Each cell In myRange Excel.ThisWorkbook.Sheets("Control").Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:=cell.Value & "!A1" '<<from recorded macro Next cell End Sub 

«!» знак является ключевым элементом. Если у вас есть объект ячейки (например, «mycell» в следующем примере кода) и связать ячейку с этим объектом, вы должны обратить внимание! элемент.

Вы должны сделать что-то вроде этого:

 .Cells(i, 2).Hyperlinks.Add Anchor:=.Range(Cells(i, 2).Address), Address:="", _ SubAddress:= "'" & ws.Name & "'" & _ "!" & mycell.Address 

Если вам нужно гиперссылка Sheet1 на все или на соответствующие листы, используйте простой код vba. Если вы хотите создать радиокнопку, назначьте этот макрос этой кнопке на «Домашняя страница».

Вот:

 Sub HomePage() ' ' HomePage Macro ' ' This is common code to go to sheet 1 if do not change name for Sheet1 'Sheets("Sheet1").Select ' OR ' You can write you sheet name here in case if its name changes Sheets("Monthly Reports Home").Select Range("A1").Select End Sub 

Этот макрос добавляет гиперссылку на рабочий лист с тем же именем, я также изменяю диапазон, который будет более гибким, просто измените первую ячейку в коде. Работает как шарм

 Sub hyper() Dim cl As Range Dim nS As String Set MyRange = Sheets("Sheet1").Range("B16") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each cl In MyRange nS = cl.Value cl.Hyperlinks.Add Anchor:=cl, Address:="", SubAddress:="'" & nS & "'" & "!B16", TextToDisplay:=nS Next End Sub 
  • Нельзя использовать гиперссылку при защите листов, не позволяя пользователю выбирать заблокированные ячейки
  • Может ли Excel интерпретировать URL-адреса в моем CSV как гиперссылки?
  • Удаление текста гиперссылки из текста Excel
  • Большие связанные книги .xlsb
  • Excel - сравнить два документа?
  • гиперссылка excel на ничего
  • Обход обнаружения Microsoft Office в Excel VBA
  • Обход элемента, когда у Href нет атрибута
  • Измените ячейку с веб-сайтом как текст в ссылку (не используя функцию = Гиперссылка)
  • Оптимизация добавления синтаксиса гиперссылок
  • макрос для вставки гиперссылки с использованием значения столбца
  • Давайте будем гением компьютера.