Добавление гиперссылки на другую вкладку в Excel VBA дает ошибку 438 - PullRequest
0 голосов
/ 27 декабря 2018

Я новичок в VBA и пытаюсь добавить гиперссылку, используя этот код VBA:

Sub macrotoc()

Dim sht As Worksheet
Dim targetsheet As Worksheet

 Set sht = ActiveWorkbook.Sheets("TOC")
 Set targetsheet = Worksheets("Monthly Enrollment")

 With sht

 .Hyperlinks.Add Anchor:=sht.Range("c5"), Address:="", SubAddress:=targetsheet & "!A1", ScreenTip:="Monthly Enrollment", TextToDisplay:="Monthly Enrollment" <the line where code is giving me error>

 End With

End Sub

Это я собрал с помощью нескольких онлайн-форумов.Я хочу, чтобы гиперссылка появилась на листе TOC Cell C5 и указывала на другую рабочую таблицу «Ежемесячная регистрация» в ТО ЖЕ рабочей книге.Обратите внимание, что я собираюсь запускать этот макрос для нескольких рабочих книг сверхурочно, поэтому указание расположения рабочей книги в строке hyperlink.add мне не подходит.

Код теперь дает мне Ошибка 438 времени выполнения: объект не поддерживает это свойство или метод в гиперссылке. Строка добавления

Я пробовал варианты Activeworkbook, ThisWorkbook или рабочих таблиц вset sht = line но ничего не помогало.

Вы видите, что не так?Спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

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

Sub macrotoc()

Dim sht As Worksheet
Dim targetsheet As String

 Set sht = ActiveWorkbook.Sheets("TOC")
 targetsheet = "Monthly Enrollment"

 With sht

 .Hyperlinks.Add Anchor:=.Range("C5"), Address:="", SubAddress:="'" & targetsheet & "'!A1", ScreenTip:="Monthly Enrollment", TextToDisplay:="Monthly Enrollment"

 End With

End Sub
...