我先说说思路,首先要新建一个工作表来当做目录,然后我们需要得到所有工作表名儿!手动输入?显然不可能,Excel必然要体现出自动化。VBA?显示不适合一般的用户,且维护起来相对麻烦。这里要使到一个宏表函数get.workbook(),但使用前需要启用宏,启用方法见下图。最后我们要用hyperlink函数把目录建立超链接,这样我们只要点击目录中的工作表名就可以跳转到对应的工作表中去。下面来说说具体步骤
Ctrl+F3打开名称管理器,新建一个名称,名子就叫“工作表名”,在引用位置中输入公式,=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,80)&T(NOW()),使用它我们能得到一个所有工作表名组成的列数组,这个公式是通用的,大家可以直接复制过去。确定
根据工作表的多少选择A列的某一区域,此例是选中整个A列,在编辑栏输入公式:=TRANSPOSE(工作表名),输入完成后不要直接回车,先同时按住shift+ctrl再按回车!本工作簿中的所有工作表名都显示出来了,后面的错误值说明已经没有工作表可以显示了,不美观没事,反正这列是要隐藏的!
在B1输入公式=IFERROR(HYPERLINK("#"&A1&"!A1",A1),""),输入完成后直接回车。
选中B1,在单元格右下角有一个黑色的小方块,把鼠标指向它,此时鼠标指针会变成黑色的十字,双击。公式会自动各下填充所有B列单元格。
将A列隐藏,最终结果见下图。
此时点击目录中任意工作表名会立刻跳转到对应的工作表。我们还可以选中所有的工作表,然后再选中A1单元格,用hyperlink建立一个返回的超连接公式,这样我们就能在此工作簿的所有工作表间任意穿梭了。这个方法的好处是目录是动态的,无论是增加还是删除工作表,目录都会实时变更。