【孙兴华vba第一季】E5&E6-生成工作表超链接-个人解法

推荐孙老师的vba课程
《跟着孙兴华学习Excel VBA 第一季》

题目:生成带超链接的工作表目录

老师解法

Sub ml()
    Dim sht As Worksheet, i&, strShtName$
    Columns(1).ClearContents '清空A列数据
    Cells(1, 1) = "目录" '第一个单元格写入标题"目录"
    i = 1  '将i的初值设置为1.
    For Each sht In Worksheets  '循环当前工作簿的每个工作表
        strShtName = sht.Name
        If strShtName <> ActiveSheet.Name Then
       '如果sht的名称不是当前工作表的名称则开始在当前工作表建立超链接
            i = i + 1 '累加工作表数量
           ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", _
            SubAddress:="'" & strShtName & "'!a1", TextToDisplay:=strShtName
           '建超链接
        End If
    Next
End Sub

个人解法

Public Sub m2()
    Dim sht As Worksheet
    Dim i As Integer
    Dim shtName As String
    If ActiveSheet.Name = "Sheet1" Then '避免超链接更新到其他工作表
        Columns(1).ClearContents
        Cells(1, 1) = "目录"
        i = 1
        For Each sht In Worksheets
            shtName = sht.Name
            If shtName <> ActiveSheet.Name Then
                i = i + 1
                ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", _
                SubAddress:="'" & shtName & "'!a1", TextToDisplay:=shtName
            End If
        Next
    End If
End Sub

超链接函数用法

1、.Hyperlinks.Add Anchor链接到指定的工作表
2、Cells(i, 2).Select工作表列表存放位置,可根据需要修改
3、Address是内部链接可以不填写

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值