У меня проблемы с созданием гиперссылки в VBA - PullRequest
0 голосов
/ 22 января 2019

Мне нужно скопировать лист в Excel, назвать его, а затем создать гиперссылку на созданный лист. Скопируйте и назовите это не проблема, но я не могу заставить работать гиперссылку. Кто-нибудь знает, где ошибка?

Большое спасибо за любую помощь.

С уважением Мэтт

Sub CreateSheet()

    Dim wst As Worksheet
    Dim strProjectName As String

    Sheets("Base").Copy After:=Sheets(Sheets.Count)
    Set wst = ActiveSheet
    strProjectName = InputBox("Please write the project name")
    wst.Name = strProjectName

    Hyperlinks.Add Anchor:=Worksheets("Base").Range("O8"), Address:="", SubAddress:= _
    wst.Name
End Sub

1 Ответ

0 голосов
/ 22 января 2019

необходимо добавить, чтобы предоставить полный ссылочный адрес ячейки.Вы не можете просто использовать имя листа, по крайней мере, это мое понимание.

В любом случае, взгляните на этот фрагмент кода здесь.

Sub Test()

Dim wst, basesheet As Worksheet
Dim strProjectName As String
Set basesheet = Worksheets("Base")
basesheet.Copy After:=Sheets(Sheets.Count)
Set wst = ActiveSheet
strProjectName = InputBox("Please write the project name")
wst.Name = strProjectName

basesheet.Hyperlinks.Add Anchor:=basesheet.Range("O8"), Address:="", SubAddress:= _
wst.Name & "!A1"

Что-то, о чем следует помнить,быть ActiveSheet линией, которую вы перечислили.Если по какой-либо причине лист изменится (пользовательский или другой макрос), то это может испортить весь этот макрос.

В любом случае, вышеприведенное должно делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...