Открыть гиперссылку с помощью макроса на всех листах рабочей книги

#vba #excel

#vba #excel

Вопрос:

 Sub Macro4()
    Range("B1").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
  

У меня есть одна книга Excel с тремя листами (лист 1, лист 2 и лист 3), на листе 1 в ячейке B1 у меня есть гиперссылка, которую я открываю с помощью записанной макрокоманды, однако, когда я запускаю макрос на листе № 2, команда завершается ошибкой с ошибкой времени выполнения ‘9’.

Пожалуйста, помогите, так как я хочу использовать эту команду таким образом, чтобы, если я открыл лист2 или лист 3, он все равно мог открыть гиперссылку на лист 1.

Комментарии:

1. попробуйте ThisWorkbook.Worksheets("sheet1").Range("B1").Hyperlinks(1)...

Ответ №1:

 Sub Macro4()
    Range("B1").Select
    Worksheets("sheet1").Range("B1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
  

Вам нужно сообщить VBA, что гиперссылка находится на другом листе, если вы ссылаетесь на нее с другого листа. Добавив Worksheets("Sheet1") указание VBA всегда просматривать Sheet1 независимо от того, какой лист фактически активирован. Это Range("B1") просто сужает диапазон, в котором гиперссылка может быть найдена и считается первой гиперссылкой

Комментарии:

1. Ответы намного лучше работают с текстом, объясняющим их. Пояснения облегчают обучение.