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 2007: cree un hipervínculo para vincular una celda en la columna E con un valor coincidente en la columna C
Este tutorial de Excel explica cómo escribir una macro para crear un hipervínculo para vincular una celda en una columna con un valor coincidente en otra columna en Excel 2007 (con capturas de pantalla e instrucciones paso a paso).
Pregunta: En Microsoft Excel 2007, me gustaría saber si es posible vincular de alguna manera 2 celdas en función de sus valores. Entonces, si hago clic en la celda E9 (que tiene un valor de 41), me llevará a la celda C2 (que también tiene un valor de 41), según los siguientes datos:
Una | Segundo | C | D | Segundo |
---|---|---|---|---|
1 | manzana | 37 | prueba 10 | 36 |
2 | plátano | 41 | Prueba 70 | 36 |
3 | mandarina | 42 | Prueba 71 | 36 |
4 | mandarina | 43 | Prueba 72 | 36 |
5 | Uva | 146 | Prueba 5C | 36 |
6 | Piña | 38 | prueba 20 | 37 |
7 | pera | 39 | Prueba 30 | 38 |
8 | fresa | 40 | Prueba 40 | 39 |
9 | arándano | 44 | Prueba 73 | 41 |
10 | Durazno | 45 | Prueba 74 | 42 |
Necesito hacer esto para cada celda en la columna E para que cuando haga clic en un valor en la columna E me lleve al valor coincidente en la columna C.
R: Veamos un ejemplo.
Descargue la hoja de cálculo de Excel (que se muestra a continuación)
En nuestra hoja de cálculo, configuramos la columna E con valores que queremos vincular a los valores coincidentes en la columna C. En esta hoja, hemos creado un botón que, al hacer clic, iniciará una macro. Esta macro creará un hipervínculo en la columna E.
En nuestro ejemplo, hicimos clic en el botón. Ahora el hipervínculo se crea de la siguiente manera:
En este ejemplo, la celda E6 haría un hipervínculo a C1, E7 haría un hipervínculo a C6, E8 haría un hipervínculo a C7, y así sucesivamente.
Puede presionar Alt+F11 para ver el código VBA.
codigo macro
El código de la macro se ve así:
Sub Update_Hyperlinks() Dim LRowE As Integer Dim LRowC As Integer Dim LContinue As Boolean 'Clear all hyperlinks from the active sheet ActiveSheet.Hyperlinks.Delete 'Start at row 1 when creating hyperlinks for column E LRowE = 1 'Create hyperlinks in column E until a blank value is encountered in column E While Len(Range("E" & CStr(LRowE)).Value) > 0 'Start at row 1 (when searching column C values) LRowC = 1 LContinue = True 'Stop searching column C when either a match is found, or ' a blank value in column C is found While LContinue = True 'Found a match between column E and column C, set hyperlink and ' set boolean variable to not search any more for a match If Range("E" & CStr(LRowE)).Value = Range("C" & CStr(LRowC)).Value Then 'Select the location for the new hyperlink Range("E" & CStr(LRowE)).Select 'Add the hyperlink to the column C value ActiveSheet.Hyperlinks.Add Anchor:=Selection, _ Address:="", _ SubAddress:="C" & CStr(LRowC), _ ScreenTip:="C" & CStr(LRowC) 'Found a match, so do not continue LContinue = False End If 'Move to next row in column C LRowC = LRowC + 1 'A blank value is found in column C, do not continue further If Len(Range("C" & CStr(LRowC)).Value) = 0 Then LContinue = False End If Wend 'Move to next row in column E LRowE = LRowE + 1 Wend End Sub