MS Excel 2013: Actualizar celda basada en hipervínculo seleccionado

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Excel 2013: Actualizar celda basada en hipervínculo seleccionado

Ver soluciones en otras versiones de Excel:

  • Excel 2011 para Mac
  • Excel 2010
  • Excel 2007
  • Excel 2003

P: En Microsoft Excel 2013, creé un hipervínculo de una hoja de cálculo a otra en el mismo archivo. Pero cuando se levanta la hoja vinculada, quiero llenar el campo especificado con algo de texto. El texto cambiará según el hipervínculo seleccionado, pero todos los enlaces se conectarán a la misma hoja y al mismo campo. Los campos que quiero completar controlan muchas funciones de búsqueda.

¡ayuda! ! Se puede hacer esto?

R: Sí, esto se puede hacer usando macros en dos “eventos” de libros de Excel.

Veamos un ejemplo.

Descargue la hoja de cálculo de Excel (que se muestra a continuación)

En nuestra hoja de cálculo, hay dos hojas llamadas Hipervínculos y Destinos. La tabla de hipervínculos contiene tres hipervínculos en las celdas A3, A6 y A9. Los tres hipervínculos apuntan a la celda B2 en la hoja de destino

.

Cuando se hace clic en el hipervínculo, la hoja de destino se activa y la celda B2 mostrará el texto que muestra qué hipervínculo se seleccionó. En el siguiente ejemplo, tenemos “Hipervínculo #2” seleccionado en la celda A6.

Puede ver las macros presionando Alt+F11 y haciendo doble clic en el objeto ThisWorkbook en la ventana izquierda.

Esta solución consta de tres componentes:

  1. Hay una variable global llamada GSourceCell que contiene la referencia de celda cuando se selecciona el hipervínculo.
  2. Hay un evento de libro de trabajo llamado “SheetSelectionChanged”.Cuando se activa este evento, se completará la variable GSourceCell
  3. Hay un evento de libro de trabajo llamado “SheetFollowHyperlink”. Cuando se activa este evento, la celda B2 en la hoja de trabajo Destino se llenará con texto.

codigo macro

El código de la macro se ve así:

Dim GSourceCell As String

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

   'Update cell B2 in Destination sheet based on the origin of hyperlink
   If Sh.Name = "Hyperlinks" Then
      If GSourceCell = "A3" Then
         Sheets("Destination").Range("B2").Value = "Hyperlinked from cell A3"
      ElseIf GSourceCell = "A6" Then
         Sheets("Destination").Range("B2").Value = "Hyperlinked from cell A6"
      ElseIf GSourceCell = "A9" Then
         Sheets("Destination").Range("B2").Value = "Hyperlinked from cell A9"
      Else
         Sheets("Destination").Range("B2").Value = ""
      End If
   End If

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

   If Sh.Name = "Hyperlinks" Then
      'Capture last active cell on Hyperlinks worksheet and store in global variable
      GSourceCell = Target.Address(False, False)
   End If

End Sub
(Visited 6 times, 1 visits today)