Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2498|回复: 2

[已解决]VBA为工作表创建目录及链接的问题

[复制链接]
发表于 2016-4-26 19:26 | 显示全部楼层 |阅读模式
     用VBA的方法,第一:将一个工作簿中的所有工作表创建成目录,这一步,应该是没有问题的;第二:我将工作表中的目录与对应工作表建立链接,只要工作表名称带小括号,比如sheet(7),提示链接无效,请问:如何解决?谢谢!
最佳答案
2016-4-26 19:59
Sub 添加目录及链接()
    Dim i As Integer
    Dim x As Worksheet

    Set x = Sheets(1)
    x.Name = "目录"
    For i = 2 To Worksheets.Count
        With Worksheets(i)
            x.Cells(i, 1) = .Name
            .Hyperlinks.Add anchor:=x.Cells(i, 1), Address:="", SubAddress:="'" & .Name & "'!a1"
            .Hyperlinks.Add anchor:=Sheets(i).[h1], Address:="", SubAddress:="目录!a1", TextToDisplay:="返回"
        End With
    Next
End Sub




SubAddress 表示工作簿内的地址,
对于SubAddress的值,直接参照录制宏中的表达方式就行了,即:'表名'!A1

目录及链接 .rar

9.55 KB, 下载次数: 6

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-4-26 19:59 | 显示全部楼层    本楼为最佳答案   
Sub 添加目录及链接()
    Dim i As Integer
    Dim x As Worksheet

    Set x = Sheets(1)
    x.Name = "目录"
    For i = 2 To Worksheets.Count
        With Worksheets(i)
            x.Cells(i, 1) = .Name
            .Hyperlinks.Add anchor:=x.Cells(i, 1), Address:="", SubAddress:="'" & .Name & "'!a1"
            .Hyperlinks.Add anchor:=Sheets(i).[h1], Address:="", SubAddress:="目录!a1", TextToDisplay:="返回"
        End With
    Next
End Sub




SubAddress 表示工作簿内的地址,
对于SubAddress的值,直接参照录制宏中的表达方式就行了,即:'表名'!A1

回复

使用道具 举报

 楼主| 发表于 2016-4-26 20:55 | 显示全部楼层
爱疯 发表于 2016-4-26 19:59
Sub 添加目录及链接()
    Dim i As Integer
    Dim x As Worksheet

高手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 16:05 , Processed in 2.771725 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表