Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Hipervinculos en excel
Experto: tavopz
Valoración: 5
Fecha: 13/05/2008


Hipervinculos en excel
Hola bueno dias, tengo una inquietud como puedo hacer para modificar en masa una buena cantidad de hipervinculos que tengo en un libro lo que necesito es modificar la celda destino por ejemplo si tengo el hipervinculo que al darle click pase a la celda F10 del al hoja 1 que en lugar de F10 sea X21 son como 40 hipervinculos en la hoja se podra hacer alguna macro para esto, consegui esta macro buscando en la web pero no le encuentro como decirle que me modifique solo los rango de la celda espero me comprendas aqui esta la macro. es de otro experto pero creo que no esta activo espero me ayudes saludos. Sub ChangeAddress() ' Store the old hyperlink so you can get its properties. ' Set oldlink = Worksheets("cc").Cells(1, 1).Hyperlinks(1) ' Store the old Anchor and SubAddress properties. Note that the ' oldAddress line is optional and that the oldAnchor line must ' be preceded by "Set" since it is using a Range. ' Set oldAnchor = oldlink.Range oldAddress = oldlink.Address oldSubAddress = oldlink.SubAddress ' Create the new link using the new Address and the original ' Anchor and SubAddress. Set newLink = Worksheets("Sheet1").Hyperlinks.Add( _ Anchor:=oldAnchor, _ Address:=oldAddress, _ SubAddress:=oldSubAddress) End Sub

Hipervinculos en excel
Hola, Pienso que no necesitas hacer algo tan complejo para lo que me dices. Tal vez con algo como esto: [b]Sub Macro_Links()     Dim c As Range     For Each c In Range("A1:L100")         If c.Hyperlinks(1).SubAddress = "Hoja1!F10" Then               c.Hyperlinks(1).SubAddress = "Hoja1!X21"         End If[/b] [b]    Next c [/b] [b]End Sub[/b] La macro hace lo siguiente: 1. Evalúa todas las celdas en el rango A1:L100, puedes modificar este rango cambiando la macro en la línea 3 . 2. Si la celda tiene como hipervínculo la celda F10 de la Hoja1 (también puedes cambiar este dato), entonces lo reemplaza por la celda X21 de la misma Hoja1.   Espero que esto te sirva. Si tienes alguna inquietud adicional no dudes en pedir aclaración.   Saludos, Tavopz

Hipervinculos en excel
Hey me parece una buena solucion, pero me nace otra pregunta como hago si los hipervinculos estan direccionados a hojas distintas como un menu, por consiguiente son cambiantes entonces me tendria que tomar el valor de la celda activa y reemplazar los datos el nuevo dato como por ejemplo si tengo esto Hoja1!F10 Hoja2!F10 Hoja3!F10 Hoja4!F10 y quiero esto Hoja1!X20 Hoja2!X20 Hoja3!X20 Hoja4!X20 Como se puede hacer esto? saludos y gracias por tu pronta repuesta

Hipervinculos en excel
Hola, Pienso que podemos manejarlo como un texto. Entonces tendrías que manejarlo así:   [b]Sub Macro_Links()     Dim c As Range     For Each c In Range("A1:L100")         x = c.Hyperlinks(1).SubAddress         y = Right(c, 3)         z = Left(c, 6)         If y = "F10" Then               c.Hyperlinks(1).SubAddress = z & "X20"         End If End Sub[/b]   Revisa si esto es válido entonces.   Saludos, Tavopz  

Pregunta finalizada. Valoración: 5
Gracias por tu pronta y asertada solución esta perfecta, aunque le hise unos cambios para que funcionara pero valio la pena. saludos cuidate aqui te pongo el resultado por si alguien mas lo necesita. Sub Macro_Links() Dim c As Range For Each c In Range("C11:C14")    X = c.Hyperlinks(1).SubAddress    y = Right(X, 2)    z = Left(X, 6) If y = "F10" Then   c.Hyperlinks(1).SubAddress = z & "X20" End If Next c End Sub


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1843051/hipervinculos-en-excel