超实用Excel VBA工具箱3-创建动态目录

        工作中我们可能会经常使用一个工作簿,这个工作簿里有各种不同的工作表。我们需要煤炭在不同的工作表里处理不同的信息,这是我们可能为工作簿创建一个动态的工作表目录,通过点击不同目录中的链接跳转到我们需要的工作表。

 

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
    Dim sht As Worksheet
    Dim rng As Range
    Dim str As String
    Dim nRow As Long
    Dim i As Long
    With Sheets("目录")
        nRow = .Cells(Rows.Count, 1).End(xlUp).Row '计算目录表中当前的行数
        .Range("A2:D" & nRow + 1).Clear '将目录表中原有的数据清空,这里加1是为了防止如果目中表中没有数据时将误删表头
    End With
    For Each sht In ThisWorkbook.Sheets '循环所有工作表
        If sht.Name <> "目录" Then
            With sht
                Set rng = Sheets("目录").Cells(.Rows.Count, 1).End(xlUp) '定位目录表的最后一行
                rng.Offset(1, 0) = rng.Row '序号
                rng.Offset(1, 1) = sht.Name '工作表的名称
                '工作表链接
                .Hyperlinks.Add Anchor:=rng.Offset(1, 1), Address:="", SubAddress:="'" & sht.Name & "'!A1", TextToDisplay:=sht.Name, ScreenTip:="单击打开:" & sht.Name
                For i = 1 To 3 '将工作表中内容的前三个单元格内容合并为一个字符串
                    str = str & sht.UsedRange.Cells(i).Text
                Next
                rng.Offset(1, 2) = str & "……" '内容
                rng.Offset(1, 3) = sht.UsedRange.Address(0, 0) '使用区域
            End With
        End If
    Next
Application.ScreenUpdating = True
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值