分享

Excel | VBA(3)——生成带超链接的目录

 bitterfleabane 2020-03-18

清晨,与您相约

问题情境
昨天韩老师写的Excel | VBA(2)——生成工作表目录,其中的代码简短,生成的目录不带超链接,不能在目录工作表与各工作表之间随意切换,那韩老师今天补充一下代码,实现这个功能。

VBA实现
在代码窗口中输入:

Sub 目录()

Application.ScreenUpdating = False    '关闭屏幕更新
Dim i As Integer, sht As Worksheet, shtname As String
Columns(1).ClearContents       '清除A列
Cells(1, 1) = "目录"           '“部门费用”工作表A1单元格添加数据“目录”
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", ScreenTip:="超链接到" & sht.Name & "工作表", TextToDisplay:=shtname
                       '在“部门费用”工作表A列中添加工作表名称
    With sht
        sht.Hyperlinks.Add anchor:=sht.Cells(1, 10), Address:="",         SubAddress:="部门费用!a" & i, ScreenTip:="返回目录", TextToDisplay:="返回目录"
                       '在每一个不是“部门费用”的工作表JI单元格的中添加“返回目录”按钮
    End With
End If
Next
Application.ScreenUpdating = True          '开启屏幕更新
End Sub
部分语句太长,直接把代码复制过来观感不好,大家可以把手机横过来,可读性增加一些。
但如果不把代码放在这里,只截图,大家又没办法复制。
看代码截图:

效果如下:

把代码文件分享在此处,大家可以下载练习:

链接:https://pan.baidu.com/s/1adcheV2eGRSg29Ai_JJxkg

提取码:eylx

------------------------------------------

如果感觉有用,请点亮“在看”哦

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多