首页 > Office专区 > Excel教程 >

给EXCEL表快速建立目录

来源:互联网 2023-02-20 18:15:40 483

如果一个工作薄中包含很多表,查找起来有点麻烦,那么给它建立一个目录是一个不错的选择,以后想查看那个工作表,只需在目录中找到,点击后,就会自动跳转相应的工作表。

V6r办公区 - 实用经验教程分享!

V6r办公区 - 实用经验教程分享!

V6r办公区 - 实用经验教程分享!

当然这要用到VBA,有人问VBA是不是很难,其实难的是我们不知道EXCEL的内部运行机理,如果知道了EXCEL内部是如何运行的,再稍微懂一点循环的语句和编程的思维,就容易多了。V6r办公区 - 实用经验教程分享!

工具/原料

  • excel
  • vba

第一步:录制宏

  • 1

    我不会VBA,但我可以手动插入连接,此时你不妨把你的操作过程用宏录制的功能记录下来。

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    步骤:V6r办公区 - 实用经验教程分享!

    开发工具-录制宏-确定,宏默认保存在当前工作簿中V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 1相关内容未经许可获取自百度经验
  • 2

    选中目录工作表,选择A1单元格,插入-超连接-本文档中的位置-选择单元格引用的工作表和地址-确定。V6r办公区 - 实用经验教程分享!

    这样就建立了第一个链接,如下图:V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 3

    点击停止录制按钮,停止宏的录制过程!V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    按ALT F11打开VBA编辑器,打开当前工作簿的模块1,代码如下:V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    Sub宏1()V6r办公区 - 实用经验教程分享!

    'V6r办公区 - 实用经验教程分享!

    '宏1宏V6r办公区 - 实用经验教程分享!

    'V6r办公区 - 实用经验教程分享!

    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",SubAddress:= _V6r办公区 - 实用经验教程分享!

    "函数!A1", TextToDisplay:="函数!A1"V6r办公区 - 实用经验教程分享!

    End SubV6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 第二步:分析代码

  • 1

    核心代码只有一句,通过分析,我们基本了解了超连接的方法和属性,如下图所示:

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 第三步:改进代码

  • 1

    增加循环语句,使目标工作表在所有工作表中循环一遍,包括目录工作表!V6r办公区 - 实用经验教程分享!

    For each sh in worksheetsV6r办公区 - 实用经验教程分享!

    ……V6r办公区 - 实用经验教程分享!

    NextV6r办公区 - 实用经验教程分享!

  • 2

    增加判断语句,如果工作表名称不等于目录,则执行程序代码,否则跳过。V6r办公区 - 实用经验教程分享!

    If sh.Name > "目录" ThenV6r办公区 - 实用经验教程分享!

    ……V6r办公区 - 实用经验教程分享!

    i=i 1V6r办公区 - 实用经验教程分享!

    End IfV6r办公区 - 实用经验教程分享!

  • 3

    把固定引用变成变量,如:V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    目录地址:selection用cells(i,1)表示,通过i的递增实现目录单元格下移V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    目标地址:“函数!A1”用sh.name&"!A1"表示,在不同的工作表中循环引用V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    显示文本:“函数!A1”用:"表" &i & ":" & sh.Name表示V6r办公区 - 实用经验教程分享!

  • 4

    完整代码:V6r办公区 - 实用经验教程分享!

    Sub目录()V6r办公区 - 实用经验教程分享!

    Dim i As IntegerV6r办公区 - 实用经验教程分享!

    Dim sh As WorksheetV6r办公区 - 实用经验教程分享!

    i = 1V6r办公区 - 实用经验教程分享!

    For Each sh In WorksheetsV6r办公区 - 实用经验教程分享!

    If sh.Name > "目录" ThenV6r办公区 - 实用经验教程分享!

    Worksheets("目录").Hyperlinks.Add Anchor:=Cells(i, 1), Address:="",SubAddress:= _V6r办公区 - 实用经验教程分享!

    sh.Name & "!a1", TextToDisplay:="表" &i & ":" & sh.NameV6r办公区 - 实用经验教程分享!

    i = i 1V6r办公区 - 实用经验教程分享!

    End IfV6r办公区 - 实用经验教程分享!

    NextV6r办公区 - 实用经验教程分享!

    End SubV6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 第四步:调试运行程序

  • 1

    鼠标放在代码中的任意位置,按F8单步运行,按F5运行整个过程。结果如下:

    V6r办公区 - 实用经验教程分享!

    V6r办公区 - 实用经验教程分享!

    给EXCEL表快速建立目录V6r办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!V6r办公区 - 实用经验教程分享!


    标签: excelVBA建立目录

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码