0
点赞
收藏
分享

微信扫一扫

Excel一键建立目录带超链接,就在蓦然回首的那一瞬间

fbd4ffd0717b 2022-10-31 阅读 243

       大家好,我们都知道一个Excel工作簿,可能存在非常多的工作表(worksheets集合),有时候多达几百个。当这个时候,我们查找相关数据非常的困难,效率低下。其实我们有办法可以改善这种情况。我们应该都知道Excel有一个工具可以达到这种效果,你也许已经猜到了。他就是超链接,可以通过超链接快速查看相关工作表的内容,也就是我们本文重点介绍的主人公。

     那么说起制作工作表目录和超链接,您首先想到的是什么?我们使用什么方法来实现我们的功能呢?其实方法有很多,函数法,VBA法.在正常的情况下,我们可以使用Excel自带的工作表目录功能去实现这个功能或者需求。  但有在某些情况的时候,Excel自带的功能,去实现工作表目录功能就显得有些局限性了,并不是很人性化。

PS:我们看看Excel自带的工作表目录功能去实现这个功能,是不是感觉不是很友好?


比如我们的工作表多达几百个时,一页显示不完全,对于我们查看数据明显就很不方便,很不人性化;哈哈,在我们追求美观的人来说,这个界面其实不是很友好!使用的时不够高大上!所以我们今天和大家分享的是使用Excel VBA自动建立超链接的代码,和大家一起学习!

今天的代码主要涉及2个知识点,也是代码的主要功能:

1、For each--Next

     利用For each next循环,在我们当前的工作薄的所有的工作表之间进行循环,提取工作表的名字。 

2、ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", SubAddress:="'" & strShtName & "'!a1", TextToDisplay:=strShtName

    代码里用到了Hyperlinks.Add语句,这个语句主要是添加超链接,也是本程序的核心代码。大家有时间可以试试录制宏的功能,即可得出此代码。

还是给大家看一下源数据:

原数据中存在10个工作表,我们现在要求在Total工作表中实现一个目录带超链接的功能。

Excel一键建立目录带超链接,就在蓦然回首的那一瞬间_数据_02


我们看看执行的效果:


看了上面的动画,是不是感觉非常适合批量建立大量的目录带超链接。其实上述的代码也是非常简单.

我们只需要将以下的代码复制到Excel的VBE窗口的模组中即可,然后设置宏代码运行的按键,点击执行,就可看到结果。

Excel一键建立目录带超链接,就在蓦然回首的那一瞬间_超链接_04


附上Excel VBA代码如下:

Sub Hyperlinkadd()

    Dim sht As Worksheet, i&, strShtName$

 Application.DisplayAlerts = False

    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

           '累加i

           ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 1), Address:="", SubAddress:="'" & strShtName & "'!a1", TextToDisplay:=strShtName

           '建超链接

        End If

    Next

 Application.DisplayAlerts =True

End Sub

以上就是今天要和大家分享的技巧,希望对大家有所帮助,祝各位一天好心情!

唯有不断学习,才能不被淘汰!

Excel中每一个函数都有特定的用途,不是它们没有用,而是你不了解或用不着,建议同学们收藏起来,万一要用着了呢

如果你是新同学,长按下面二维码 - 识别图中二维码 - 关注,就可以每天和我一起学Excel了。

Excel一键建立目录带超链接,就在蓦然回首的那一瞬间_perl_05

举报

相关推荐

0 条评论