VBA 自动生成目录

1. 添加目录工作表

        在工作簿中添加“目录”工作表。

2. 添加任意工作表

        在添加任意工作表后,切换到目录工作表就可以看到新添加的链接了。

Option Explicit

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim ws As Worksheet
    Dim intLastRow As Long
    Dim strHyperlinkAddr As String
    
    If Sh.Name <> "目录" Then Exit Sub
    
    '清空目录工作表的A列
    Sh.Range("A2:A" & Sh.Rows.Count).ClearContents
    
    For Each ws In ThisWorkbook.Sheets
        If ws.Name <> "目录" And ws.Visible = xlSheetVisible Then
            '找到目录工作表的最后一行加一
            intLastRow = Sh.Cells(Sh.Rows.Count, "A").End(xlUp).Row + 1
            
            '在目录工作表中添加指向目标工作表A1单元格的超链接
            strHyperlinkAddr = "'" & ws.Name & "'!A1"
            Sh.Hyperlinks.Add Anchor:=Sh.Cells(intLastRow, 1), Address:="", _
            SubAddress:=strHyperlinkAddr, TextToDisplay:=ws.Name
            
            '在当前工作表的A1单元格中添加返回目录的超链接
            Sh.Hyperlinks.Add Anchor:=ws.Range("A1"), Address:="", _
            SubAddress:="'" & Sh.Name & "'!A" & intLastRow, TextToDisplay:="返回到目录"
            
        End If
    Next ws
    
End Sub

手动做成目录可以参照如下链接

VBA 做成目录_vba自动生成目录-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值