Foros del Web » Soporte técnico » Software General »

Excel - Modificar hipervinculos de todas las celdas-

Estas en el tema de Excel - Modificar hipervinculos de todas las celdas- en el foro de Software General en Foros del Web. Buenos dias, resulta que tengo un excel con muchas celdas y cada una de ellas tiene un vinculo a una web, ejemplo: http//laweb/esta/ la_una.php Yo ...
  #1 (permalink)  
Antiguo 25/10/2011, 03:09
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 16 años
Puntos: 1
Excel - Modificar hipervinculos de todas las celdas-

Buenos dias, resulta que tengo un excel con muchas celdas y cada una de ellas tiene un vinculo a una web, ejemplo:

http//laweb/esta/la_una.php

Yo necesito modificar este enlace por este otro:

http//nuevo_enlace/otro/la_una.php

Solo tengo que cambiar la primera del enlace... he estado buscando información y se ve que microsoft excel solo deja modificar los hipervinculos manualmente celda por celda... yo tengo miles de celdas, podria estar semanas para realizar este cambio.

quizas con macros pueda solucionar el problema:

Sub modifica_viculos()

Dim hpVinc As Hyperlink
Dim strOldAddress As String, strNewAddres As String

strOldAddress = "D:\My Documents\blog\"
strNewAddres = "D:\My Documents\algodistinto\"

For Each hpVinc In ActiveSheet.Hyperlinks
hpVinc.Address = Replace(hpVinc.Address, strOldAddress, strNewAddres)
Next

End Sub


**********************************************

Pero me da error al ejecutar el macro, sabeis si hay alguna otra forma de hacer esto o donde esta el error de esta macro yo no se mucho de macros...

Muchas gracias
Dani
  #2 (permalink)  
Antiguo 27/10/2011, 00:58
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 16 años
Puntos: 1
Respuesta: Excel - Modificar hipervinculos de todas las celdas-

He encontrado este codigo en la pagina de microsoft, pero solo me modifica la primera fila de la hoja de excel:

************************************************** ******
Sub HyperLinkChange()
Dim oldtext As String
Dim newtext As String
Dim h As Hyperlink

' These can be any text portion of a hyperlink, such as ".com" or ".org".
oldtext = "http://192.168.10.xx/antiguo/consulta_celda.php?/"
newtext = "http://192.168.100.xxx/nuevo/consulta_celda.php?/"

' Check all hyperlinks on active sheet.
For Each h In ActiveSheet.Hyperlinks
x = InStr(1, h.Address, oldtext)
If x > 0 Then
If h.TextToDisplay = h.Address Then
h.TextToDisplay = newtext
End If
h.Address = Application.WorksheetFunction. _
Substitute(h.Address, oldtext, newtext)
End If
Next
End Sub
************************************************** *******

Alguien sabe acomo retocarlo para que me modifique todas las celdas del documento????'

GRACIAS
  #3 (permalink)  
Antiguo 27/10/2011, 02:09
Avatar de rid501  
Fecha de Ingreso: agosto-2011
Mensajes: 244
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Excel - Modificar hipervinculos de todas las celdas-

Creo que no haría falta una macro. Seleccionas toda la hoja haciendo click en el vértice superior izquierdo de la hoja y a continuación utilizas la opción Reemplazar para sustituir un texto por otro
  #4 (permalink)  
Antiguo 27/10/2011, 06:42
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 16 años
Puntos: 1
Respuesta: Excel - Modificar hipervinculos de todas las celdas-

hola rid501, lo que me propones esta muy bien para modificar los textos de las celdas, lo que yo necesito es modificar los hipervinculos que llevan las celdas, con esa opcion de reemplazar no encuentra los vinculos.

Gracias de todas formas por contestar
  #5 (permalink)  
Antiguo 27/10/2011, 06:46
 
Fecha de Ingreso: abril-2008
Ubicación: España
Mensajes: 58
Antigüedad: 16 años
Puntos: 1
Respuesta: Excel - Modificar hipervinculos de todas las celdas-

Puede ser que hay demasiados datos o que los vinculos tengan demasiados caracteres porque me suele dar un error de falta de memoria cuando ejecuto la macro??

Etiquetas: excel, hipervinculos, microsoft, modificar, todas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:04.