#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. Ответы намного лучше работают с текстом, объясняющим их. Пояснения облегчают обучение.