定义名称
打开Excel 2007, 右击第一张工作表标签选择重命名,把它重命名为目录工作表。选中B1单元格,切换到公式选项卡,单击定义名称,在弹出的新建名称窗口 中输入名称工作表名,在引用位置中则输入公式=INDEX(GET.WORKBOOK(1),$A1)&T(NOW()),单击确定即可定义 出一个名为工作表名的名称(图1)。
公式中GET.WORKBOOK(1)用于提取当前工作簿中所有工作表名称,INDEX函数则按A1中的数字决定要显示第几张工作表的名称。此 外,由于宏表函数GET.WORKBOOK(1)在数据变动时不会自动重算,而NOW()是易失性函数任何变动都会强制计算,因此我们需要在公式中加上 NOW()函数才能让公式自动重算。函数T()则是将NOW()产生的数值转为空文本以免影响原公式结果。
注:宏表函数GET.WORKBOOK,不能直接在单元格公式中使用,必须通过定义名称才能起作用。
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)目录设置
在目录工作表的A1单元格输入1,在B1单元格输入公式=IFERROR(HYPERLINK(工作表名& amp;"!A1",RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))),"")。公式表示当名称工作表名的值为错误值时 显示为空,否则创建指向工作表名!A1的超链接并显示该工作表名。
然后选中A1:B1单元格,把鼠标指向选中区右下角的填充柄按住鼠标左键向下拖动到300行,把公式和编号填充出300行,在A、B列就会 马上自动列出所有工作表目录(图2)。单击相应工作表名称即可快速切换到该工作表中。请参照可能的最多工作表个数来决定向下填充行数,一般300个应该够 了。
注:公式中RIGHT(工作表名,LEN(工作表名)-FIND("]",工作表名))这段函数的作用是除去工作表名中]以前的内容。 若你不介意工作表名称前显示[BOOK1.xlsx]一类内容的话,可以把B1中的公式简化成=IFERROR(HYPERLINK(工作表名& amp;"!A1",工作表名),"")。
保存设置
切换到开始选项卡适当设置一下目录中的字体、字号和颜色等等,建议把字号放大并设置加粗以便查看,还要调整一下A:B列的列宽以便完全显示 工作表名称。然后右击其他工作表标签选择删除,把所有其他工作表全部删除只保留一张目录工作表。最后单击Office按钮,选择另存为, 在弹出的另存为窗口中选择保存类型为Excel启用宏的模板(*.xltm)格式、文件名为目录.xltm,保存到C:Program FilesMicrosoft OfficeOffice12XLSTART文件夹下,关闭Excel 2007退出。若你的Office不是按默认路径安装,请按实际安装路径修改。
三秒创建目录
以后要为工作簿创建目录就简单了,只要用Excel 2007打开要创建目录的工作簿,在第一张工作表的标签上右击选择插入,在插入窗口中双击选择目录,即可在第一张工作表前插入一张目录工作表,并显示出所有工作表目录。这操作有3秒就够了吧?
在目录工作表中,可通过对目录进行筛选、排序、查找来快速找到工作表名,然后单击工作表名即可打开相应工作表。创建目录后,在这个工作簿中 增加、删除工作表或者修改工作表名称,目录工作表中的工作表目录都会自动更新。此外,前面我们只复制了300行目录公式,因此工作表总数超过300个 时,超出的工作表名就不会显示了,得把目录工作表中A1:B1的公式再向下复制填充才行。
由于宏表函数GET.WORKBOOK(1)是通过宏功能起作用的,所以插入了工作表目录的文档最后都必须以Excel启用宏的工作簿 (*.xlsm)格式另存,这样下次打开时才能正常显示工作表目录。此外,打开工作簿时,Excel 2007默认会禁用宏,得单击警告栏中的选项按钮,选中启用此内容单选项,确定后才能显示工作表目录。