У меня есть рабочая таблица под названием «Сводка», в которой содержится список округов Англии, а затем у меня есть отдельная рабочая таблица для каждого округа.

То, что я хочу сделать, - это автоматически сделать мой список округов на странице сводки гиперссылкой с соответствующей таблицей в Excel.

Звучит так, как будто это должно быть просто ... но я не могу понять это, не буквально щелкая каждое имя по отдельности, гиперссылку, выбирая лист из окна «в этом документе» и т.д.… Это немного затянуто.

Спасибо,

3 ответа3

2

У меня нет фактической формулы для вас, но я думаю, что вы можете сделать это, используя функцию VLOOKUP вместе с функцией HYPERLINK.

Быстрый поиск показывает несколько результатов, которые могут вас заинтересовать:

гиперссылка vlookup excel

1

Оригинальный макрос был полезен, но требовал модификации, чтобы добавить одинарные кавычки вокруг цели:

Do While r <= maxRows
    ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, 1), Address:="", SubAddress:="'" & Rng(r, 1).Value _
     & ")'!A1", TextToDisplay:=Rng(r, 1).Value
    On Error Resume Next
    r = r + 1
Loop
0

Вы можете использовать HYPERLINK в сочетании с функцией CELL и некоторыми строковыми функциями. Или вы можете использовать следующий макрос:

Sub LinkToSheet()

Dim Rng As Range
Dim maxRows, r As Integer

Set Rng = Selection

maxRows = Rng.Rows.Count 'number of rows in the selection
r = 1

Do While r <= maxRows
    ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, 1), Address:="", SubAddress:=Rng(r, 1).Value & "!A1", TextToDisplay:=Rng(r, 1).Value
    On Error Resume Next
    r = r + 1 
Loop

End Sub

Использование: выделите все названия стран в сводной таблице, нажмите Alt+F8, а затем дважды щелкните макрос. Это предполагает, что листы в вашем списке существуют. Макрос все еще создает гиперссылку даже для листа, который не существует. Он также пропускает пустые ячейки. Вот пример рабочего листа: http://ge.tt/2gheiw5

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .