1、在工作簿中新建一个工作表,命名为“目录”。
2、单击B1单元格,切换到“公式”选项卡,单击“定义名称”,d出【新建名称】对话框,在“名称”文本框中输入“目录”,在“引用位置”文本框输入以下公式:
=INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW())
3、在B1单元格中输入公式,并向下复制:
=IFERROR(HYPERLINK(目录&"!A1",MID(目录,FIND("]",目录)+1,99)),"")现在可以看到效果了,单击目录中的工作表名称,就会自动跳转到相应工作表。
注意:GET.WORKBOOK函数是宏表函数,可以提取当前工作簿中的所有工作表名,需要先定义名称后使用。
咱们简单分解一下这个公式各部分的含义:
GET.WORKBOOK函数返回的结果类型为“ [课件.xlsm]目录”的样式。也就是“工作簿名称+后缀名+工作表名称”。
T(NOW())部分返回一个空值,目的是让GET.WORKBOOK函数结果能够实时更新。
FIND("]",目录)部分,用于查找符号"]"在自定义名称“目录”计算结果中的位置。
MID(目录,FIND("]",目录)+1,99)部分,从“目录”中的"]"符号后一个字符处取值,取值长度为99个字符,这里的99可以写成任意一个较大的数值。
HYPERLINK函数用于创建一个快捷方式(跳转),是EXCEL超级链接的函数实现方法。当单击函数 HYPERLINK 所在的单元格时,Excel将打开链接的文件或跳转到指定的工作表的单元格,本例中是跳转到目录&"!A1"。
IFERROR函数用于屏蔽错误。
注意:工作表保存时需要选择保存类型为“Excel 启用宏的工作簿(*.xlsm)”,同时需要在Excel选项中将宏安全性设置为中,否则会不能正常使用了。
打开excel工作簿,点击“公式”下的“名称管理器”,接着点击“新建”。输入名称“我的目录”,和引用位置“=INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW())”,点击“确定”。
这样就会返回名称管理器窗口,并可以在窗口中看到该名称,关闭该名称管理器窗口。
在单元格中输入公式“=IFERROR(HYPERLINK(我的目录&"!A1",MID(我的目录,FIND("]",我的目录)+1,50)),"")”。
向下填充公式,这样就可以得到工作簿中所有的工作表名称,且每个名称下都有链接。
将步骤5得到的目录复制到每个工作表下,这样就可以在各个工作表中任意切换目录了。
最后,一定要将excel文件保存为“Excel启用宏的工作簿(*.xlsm)”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)