首页 > Excel > 批量制作Excel工作表超链接 同一工作簿下

批量制作Excel工作表超链接 同一工作簿下

2010年9月3日 Surda 发表评论 阅读评论

我们上学时老师开讲前,经常会说:“请同学们翻到第七章第七节,我们今天要讲的是……”,这就是老师对照书目录找到指定教学内容。

今天Surda跟大家分享:在excel中,如何批量建立(这种形如目录的)工作表超链接

背景:有时我们一个工作簿里放置N个工作表(N甚至可能大于100),在这种情况下标签栏无法容纳所有sheet。

构想:我们能不能在工作簿的第一个sheet里建立一个形如书目录的导般链接?

成果:文末附实例下载


目录
GoTo 表1!A1
GoTo 表2!A1
GoTo Sheet4!A1
GoTo Sheet6!A1
GoTo Sheet5!A1
GoTo Sheet8!A1
GoTo Sheet7!A1
GoTo Sheet9!A1
GoTo Sheet10!A1

点击链接到达指定的工作表。

实现方法非常之简单,一公式即定。

=IF(ROW()>COUNTA(AllShs),”",HYPERLINK(“#”&INDEX(AllShs,ROW())&”!A1″,”GoTo “&INDEX(AllShs,ROW())&”!A1″))

在任意单元格输入以上公式,下拉。

公式的中文解析 – 判断行号大于工作表数量则置空,不然,则运用HYPERLINK函数为工作表建立超链接。公式中AllShs为定义的名称,也是关建所在。

实现步骤

一、定义名称

CTRL+F3 – 新建名称

名称:AllShs

范围:工作簿

引用位置:=REPLACE(GET.WORKBOOK(1),1,FIND(“]”,GET.WORKBOOK(1)),)&T(NOW())

/*—–

GET.WORKBOOK(1)是宏表函数,以[Book1.xls]Sheet1的形式返回工作簿中所有工作表名的水平数组;

REPLACE(GET.WORKBOOK(1),1,FIND…是为了去掉前面的工作簿名,只保留工作表名;

T(NOW())=”" 不影响公式结果,而NOW是易失性函数,可以使工作表改名或增加、删除、移动工作表时,公式能自动重新计算。

—–*/

二、输入上述公式,下拉,OK。

 

实例下载 批量制作工作表超链接

注意:该方法使用了宏表函数get.workbook(),需要启用宏。如果你的Excel宏安全性设置为高或禁止宏,则无法使用

ShareOn:
  •  
  1. 2010年9月3日02:12 | #1

    你的博客关于Excel的好多啊,我得保存起来以后慢慢看。

  2. 2010年9月3日03:43 | #2

    确实有很多有用的技巧

  3. 2010年9月3日04:22 | #3

    @末路花未央

    @BoKeam
    博文主题是关于Excel 自然会多一些 希望用的着 :)

  4. 2010年9月3日07:52 | #4

    哈哈,这个我会,话说这超链接是互联网的精髓啊!

  5. 2010年9月3日07:53 | #5

    这个技巧,很好! 以前还有人问我呢!我不会弄!呵呵。

  6. 2010年9月3日07:55 | #6

    下载练习去了!

  7. 2010年9月3日09:02 | #7

    @学夫子
    好样的

    @joyla
    原始的方法就是一个一个添加,这个更智能

    @joyla
    慢慢研究哈

  8. 2010年9月3日11:47 | #8

    收藏了以后有用··哈哈现在没有机会玩这个

  9. 2010年9月3日13:15 | #9

    @Surda
    看出来了,呵呵! 我明天才实践,呵呵!新主题 很养眼!

  10. 2010年9月3日14:05 | #10

    不错,很好

  11. 2010年9月3日15:27 | #11

    @哲哲
    这个实用性 应该强 以后用到的机会多

    @joyla
    哈哈 正好周末 好好研究

    @绿瘦减肥胶囊效果怎么样
    啧 啧 啧 你这名称……

  12. 2010年9月4日01:03 | #12

    不错。。下次试试

  13. 2010年9月4日16:42 | #13

    @飞猪
    呵呵 必须的

  14. 2012年1月28日15:53 | #14

    很不错,楼主真聪明,辛苦了,谢谢

  15. aloe
    2012年3月31日22:45 | #15

    能否请教啊,我是一个工作簿里多个表,表一的B列有关键字,比如ID号之类的,而表2则是对这些ID号的详细说明,两个表ID号的排列顺序是不一样的,我要怎么做到,当我点击表一B列中的任何一个ID号时,就能跳到表2有相同ID号的那个单元格上去呢?我原本用的是vlookup,但是因为表格中数据很多,用了这个公式后,运行的非常非常慢。请指点指点啊!!

    补充说下,表的大致格式如下:表1,A列是顺序号,B列是ID号,表2的D列是对应的ID号,数值是和表一的一样,唯独顺序不一样。我想点击表一的B列里任何一个ID号时,可以转到表2中D列有相同ID号的那行。如何做到链接,最好是批量的,因为我有几万行数据,一个一个添加要人命哦

  16. 2012年4月2日13:53 | #16

    @aloe
    这个需要使用在超链接里使用查找函数,按你的要求需要定位行号,用MATCH()函数
    不需要用VLOOKUP()
    1.在A表ID列后新建一辅助列,输入如下公式:
    =HYPERLINK(“#表2!a”&MATCH(B1,表2!D$1:D$10,),表1!B1)
    2.在表2中应用条件格式定位行(操作细节可参考:http://surda.cn/2010/05/excel-tiaojiangeshi/)

    PS:稍后会更新针对此问题的博文

  1. 2012年4月2日14:43 | #1