我在VBA中创建超链接时遇到问题

时间:2019-01-22 14:38:38

标签: excel vba

我需要在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 :(得分:0)

您需要添加以提供完整的单元格引用地址。您不能只使用工作表名称,至少这是我的理解。

无论如何,在这里看看这段代码。

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行。如果工作表由于某种原因(用户或另一个宏)发生变化,则可能会破坏整个宏。

无论如何,以上应该做你想要的。