我需要在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
答案 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
行。如果工作表由于某种原因(用户或另一个宏)发生变化,则可能会破坏整个宏。
无论如何,以上应该做你想要的。