Creación de un hipervínculo dinámico (Microsoft Excel)
Mark se pregunta cómo crear un hipervínculo a una hoja de trabajo en el mismo libro. El nombre de la hoja de trabajo cambiará, por lo que cree que el vínculo tendrá que ser «dinámico». También le gustaría que el «nombre descriptivo» del hipervínculo cambiara con el nombre de la hoja de trabajo.
Hay algunas formas de abordar esto. El primero es crear un hipervínculo simple al destino utilizando la función HIPERVÍNCULO. La sintaxis de la función es la siguiente:
=HYPERLINK(link_location, [friendly_name])
Tenga en cuenta que el segundo parámetro (el nombre descriptivo) es opcional, pero debe usarse en el escenario de Mark. Si desea vincular a otra hoja de trabajo, entonces todo lo que necesita hacer es proporcionar la dirección de una celda en esa hoja de trabajo, de esta manera:
=HYPERLINK("[myWorkBook.xlsx]MySheet!A1", "Jump There")
Esto proporciona un hipervínculo a la celda A1 de la hoja de trabajo denominada «Mi hoja».
Esto funciona muy bien, siempre que no haya ningún cambio de nombre a «MySheet». Si se cambia el nombre o si se elimina la celda a la que se hace referencia, el hipervínculo ya no funciona.
Hay una manera fácil de solucionar este problema potencial, pero introduce un nuevo problema potencial. Puede crear un rango con nombre en la hoja de trabajo de destino y luego usar el rango con nombre en la función HIPERVÍNCULO, de esta manera:
=HYPERLINK("#MyRange","Jump There")
Tenga en cuenta que el nombre del rango debe estar precedido por un signo # y entre comillas. Al hacer clic en el enlace, se muestra la hoja de trabajo que contiene el rango con nombre y se selecciona ese rango. Es más versátil que el enfoque anterior porque no importa si cambia el nombre de la hoja de trabajo que contiene el rango nombrado. Sin embargo, sí importa si se elimina el rango nombrado. (Si solo se elimina una parte del rango con nombre, Excel se ajusta bien. Solo se resiste si se elimina todo el rango con nombre).
Para solucionar todos estos problemas se requiere el uso de células auxiliares.
(También podría usar una macro simple o dos, pero eso puede ser excesivo para las necesidades de Mark). Como ejemplo, ponga lo siguiente en la celda A24:
=MySheet!A1
La celda mostrará lo que esté en la celda A1 en MySheet. Si luego cambia el nombre de MySheet (el nombre real de la hoja), la fórmula cambia automáticamente. Si inserta o elimina filas o columnas en MySheet, la referencia a la celda A1 en la fórmula no cambiará. Esto le permite tener siempre una hoja de trabajo válida y una referencia de celda. Para obtener esa referencia en un formulario que pueda usar en la función HIPERVÍNCULO, coloque la siguiente fórmula en la celda B24:
=MID(FORMULATEXT(A24),99)
La función FORMULATEXT convierte la fórmula en la celda A24 en una cadena de texto y la adición de la función MID saca el signo igual del frente de la fórmula. La fórmula, como se muestra, permite nombres de hojas de trabajo muy largos, hasta 96 caracteres (los otros tres caracteres son «! A1»). Luego puede usar la siguiente fórmula para crear el hipervínculo real:
=HYPERLINK("[myWorkBook.xlsx]" & B24, "Jump There")
El destino del hipervínculo es siempre dinámico y estable, que es exactamente lo que se necesita. Sin embargo, cabe señalar que la función FORMULATEXT se introdujo en Excel 2013; no funcionará en versiones anteriores del programa.
No he pasado mucho tiempo hablando de la parte del nombre descriptivo de la función HIPERVÍNCULO. Eso es porque puede cambiarlo fácilmente para hacer referencia a casi cualquier cosa que desee. Por ejemplo, podría hacer que haga referencia a una celda diferente que, a su vez, muestra un valor basado en la fórmula que desee:
=HYPERLINK("#MyRange",A7)
Este ejemplo toma el nombre descriptivo de lo que esté en la celda A7. Cambie lo que está en la celda A7 y el nombre descriptivo se actualizará al mismo tiempo.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (13034) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.