创建动态超链接(Microsoft Excel)
马克想知道如何在同一工作簿中创建到工作表的超链接。工作表的名称将更改,因此他认为链接必须是“动态的”。他还希望超链接的“友好名称”随工作表名称一起更改。
有几种方法可以解决这个问题。第一种是使用HYPERLINK函数创建到目标的简单超链接。该函数的语法如下:
=HYPERLINK(link_location, [friendly_name])
请注意,第二个参数(友好名称)是可选的,但应在Mark的方案中使用。如果要链接到另一个工作表,则只需要做的就是以这种方式在该工作表上提供单元格的地址:
=HYPERLINK("[myWorkBook.xlsx]MySheet!A1", "Jump There")
这提供了指向工作表上名为“ MySheet”的单元格A1的超链接。
只要没有将名称更改为“ MySheet”,此方法就很好用。如果更改名称或删除引用的单元格,则超链接将不再起作用。
有一个解决此潜在问题的简便方法,但它引入了一个新的潜在问题。您可以在目标工作表上创建一个命名范围,然后以这种方式在HYPERLINK函数中使用该命名范围:
=HYPERLINK("#MyRange","Jump There")
请注意,范围名称必须以#号开头,并用引号引起来。单击链接将显示包含命名范围的任何工作表,然后选择该范围。它比以前的方法更具通用性,因为重命名包含命名范围的工作表并不重要。但是,是否删除命名范围确实很重要。 (如果只删除了命名范围的一部分,则Excel会进行调整。只有删除整个命名范围时,它才会进行。)
为了解决所有这些问题,需要使用辅助细胞。
(您也可以使用一个或两个简单的宏,但是对于Mark的需求而言可能会显得过高。)例如,将以下内容放入A24单元格:
=MySheet!A1
该单元格将显示MySheet的A1单元格中的内容。如果以后更改MySheet的名称(实际的工作表名称),则公式将自动更改。如果您在MySheet中插入或删除行或列,则公式中对单元格A1的引用将不会更改。这使您始终可以拥有有效的工作表和单元格引用。为了使该引用成为可以在HYPERLINK函数中使用的形式,请在单元格B24中放置以下公式:
=MID(FORMULATEXT(A24),99)
FORMULATEXT函数将单元格A24中的公式转换为文本字符串,MID函数的添加使公式前面的等号消失。如图所示,该公式允许使用非常长的工作表名称,最多96个字符(其他三个字符为“!A1”)。然后,您可以使用以下公式创建实际的超链接:
=HYPERLINK("[myWorkBook.xlsx]" & B24, "Jump There")
超链接目标始终是动态且稳定的,这正是需要的。但是,应该注意,FORMULATEXT函数是在Excel 2013中引入的;在早期版本的程序中将无法使用。
我花了很多时间谈论HYPERLINK函数的友好名称部分。那是因为您可以轻松地更改它以引用几乎任何您想要的内容。例如,您可以让它引用一个不同的单元格,该单元格又根据您想要的任何公式显示一个值:
=HYPERLINK("#MyRange",A7)
本示例从单元格A7中的任何内容中获取友好名称。更改单元格A7中的内容,友好名称将同时更新。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(13034)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。