Función Hipervinculo, falla un poco.

14/10/2006 - 11:20 por javier | Informe spam
Baloncesto
baloncesto americano http://www.acb.com/
federacon española http://www.feb.es/
Futbol
liga futbol profesional http://www.lfp.es/
historia del futbol http://www.servifutbol.com/
Ciclismo
cicloturismo http://www.ciclistas.org/
actualidad ciclista http://www.esciclismo.com/





Hola amigos:
Recurro a vosotros para ver si consigo alguna solución. Tenía 2 problemas:


PROBLEMA 1:

Tengo una tabla como la de arriba desde la fila 1 a la 9, que ocupa las
columnas "A", "B", y "C". Los espacios que se ven en blanco es texto,
concretamente comillas [=""]. Yo quería conseguir que esas 3 columnas queden
en una sóla columna. Lo estaba intentando mediante una fórmula como ésta que
introducía por ejemplo en "D1":

¡&HIPERVINCULO(C1;B1)

Aparentemente me queda bien, me queda así:

Baloncesto
baloncesto americano
federacon española
Futbol
liga futbol profesional
historia del futbol
Ciclismo
cicloturismo
actualidad ciclista

Lo que sucede es que en dicha columna, en las filas 1, 4, y 7 ("Baloncesto",
"Futbol", y "Ciclismo"), lo reconoce como si fuera un Hipervinculo, por lo
tanto al hacer click en dichas celdas me sale un mensaje diciendome que "la
dirección de éste sitio no es válida. Compruebe la dirección..." Quería
evitar que me salga ese mensaje y/o que me lo reconozca como un Hipervinculo.
Los otros Hipervinculos Sí funcionan bien.


PROBLEMA 2:

El otro problema es que una columna donde existen muchos Hipervinculos
creados mediante una formula como la anterior: ¡&HIPERVINCULO(C1;B1) quería
deshacer la fórmula pero que se mantenga (o que me siga funcionando) el
Hipervinculo. Es decir: si copio y pego sólo valores se pierde el
Hipervinculo.

¿Cómo lo podría solucionar?

Gracias por vuestra ayuda.
Saludos.
javier

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/10/2006 - 18:58 | Informe spam
hola, javier !

1) si a la funcion hipervinculo... le estas 'diciendo'...
-> que 'tome' la direccion de su columna 'C' y el texto de su columna 'B'...
-> en los casos donde dichas celdas contienen un 'vacio'...
a) por que consideras que se trata de un 'fallo' de la funcion ?
b) por que pretendes que se 'comporte' como [si se tratara de] un hipervinculo 'real' ?

2) para 'convertir' los hipervinculos por formula a 'objetos' hipervinculo...
-> selecciona -solo- las celdas con hipervinculos por formula
->corre una macro +/- como la siguiente:

en un modulo de codigo 'general ==Sub De_formula_a_vinculo()
Application.ScreenUpdating = False
Dim Celda As Range, Tmp As String
For Each Celda In Selection
With Celda
Tmp = Mid(.Formula, _
InStr(.Formula, "(") + 2, _
InStr(.Formula, ",") - InStr(.Formula, "(") - 3)
.Clear
.Hyperlinks.Add Celda, Tmp
End With
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
Baloncesto
baloncesto americano http://www.acb.com/
federacon espa#ola http://www.feb.es/
Futbol
liga futbol profesional http://www.lfp.es/
historia del futbol http://www.servifutbol.com/
Ciclismo
cicloturismo http://www.ciclistas.org/
actualidad ciclista http://www.esciclismo.com/
PROBLEMA 1:
Tengo una tabla como la de arriba desde la fila 1 a la 9, que ocupa las columnas "A", "B", y "C".
Los espacios que se ven en blanco es texto, concretamente comillas [=""].
Yo queria conseguir que esas 3 columnas queden en una sola columna.
Lo estaba intentando mediante una formula como esta que introducia por ejemplo en "D1":
¡&HIPERVINCULO(C1;B1)
Aparentemente me queda bien, me queda asi:
Baloncesto
baloncesto americano
federacon espa#ola
Futbol
liga futbol profesional
historia del futbol
Ciclismo
cicloturismo
actualidad ciclista
Lo que sucede es que en dicha columna, en las filas 1, 4, y 7 ("Baloncesto", "Futbol", y "Ciclismo")
lo reconoce como si fuera un Hipervinculo, por lo tanto al hacer click en dichas celdas me sale un
mensaje diciendome que "la direccion de este sitio no es valida. Compruebe la direccion..."
Queria evitar que me salga ese mensaje y/o que me lo reconozca como un Hipervinculo.
Los otros Hipervinculos Si­ funcionan bien.
PROBLEMA 2:
El otro problema es que una columna donde existen muchos Hipervinculos creados mediante una formula como la anterior
¡&HIPERVINCULO(C1;B1) queria deshacer la formula pero que se mantenga (o que me siga funcionando) el Hipervinculo.
Es decir: si copio y pego solo valores se pierde el Hipervinculo...
Respuesta Responder a este mensaje
#2 javier
15/10/2006 - 02:30 | Informe spam
hola, javier !

1) si a la funcion hipervinculo... le estas 'diciendo'...
-> que 'tome' la direccion de su columna 'C' y el texto de su columna 'B'...
-> en los casos donde dichas celdas contienen un 'vacio'...
a) por que consideras que se trata de un 'fallo' de la funcion ?
b) por que pretendes que se 'comporte' como [si se tratara de] un hipervinculo 'real' ?
……..



Tienes razón Héctor, pero probé de varias formas y me parecía que ésta
función tiene un comportamiento un poco extraño.

Por ejemplo con ésta fórmula:

=SI(LARGO(A1)=0;HIPERVINCULO(C1;B1);A1)

en las filas 1, 4 y 7 del ejemplo que dejé, no debería contener ningún
Hipervínculo o no debería comportarse como si tuviese un Hipervínculo: sin
embargo al hacer clic aparece un mensaje donde dice que la dirección no es
válida.

Por alguna razón esas celdas las reconoce con un formato de Hipervínculo. Y
no conseguía evitarlo.



2)Convertir una fórmula hipervínculo en objeto hipervínculo.

La macro no ha funcionado bien. Lo que me hace es borrar el contenido de las
celdas
Quizás en ésta línea:
.Clear
habría que poner copiar o pegar…??? No sé.

Gracias Héctor por tu comentario
Saludos.
Javier




"Héctor Miguel" escribió:

hola, javier !

1) si a la funcion hipervinculo... le estas 'diciendo'...
-> que 'tome' la direccion de su columna 'C' y el texto de su columna 'B'...
-> en los casos donde dichas celdas contienen un 'vacio'...
a) por que consideras que se trata de un 'fallo' de la funcion ?
b) por que pretendes que se 'comporte' como [si se tratara de] un hipervinculo 'real' ?

2) para 'convertir' los hipervinculos por formula a 'objetos' hipervinculo...
-> selecciona -solo- las celdas con hipervinculos por formula
->corre una macro +/- como la siguiente:

en un modulo de codigo 'general ==> Sub De_formula_a_vinculo()
Application.ScreenUpdating = False
Dim Celda As Range, Tmp As String
For Each Celda In Selection
With Celda
Tmp = Mid(.Formula, _
InStr(.Formula, "(") + 2, _
InStr(.Formula, ",") - InStr(.Formula, "(") - 3)
.Clear
.Hyperlinks.Add Celda, Tmp
End With
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
> Baloncesto
> baloncesto americano http://www.acb.com/
> federacon espa#ola http://www.feb.es/
> Futbol
> liga futbol profesional http://www.lfp.es/
> historia del futbol http://www.servifutbol.com/
> Ciclismo
> cicloturismo http://www.ciclistas.org/
> actualidad ciclista http://www.esciclismo.com/
> PROBLEMA 1:
> Tengo una tabla como la de arriba desde la fila 1 a la 9, que ocupa las columnas "A", "B", y "C".
> Los espacios que se ven en blanco es texto, concretamente comillas [=""].
> Yo queria conseguir que esas 3 columnas queden en una sola columna.
> Lo estaba intentando mediante una formula como esta que introducia por ejemplo en "D1":
> ¡&HIPERVINCULO(C1;B1)
> Aparentemente me queda bien, me queda asi:
> Baloncesto
> baloncesto americano
> federacon espa#ola
> Futbol
> liga futbol profesional
> historia del futbol
> Ciclismo
> cicloturismo
> actualidad ciclista
> Lo que sucede es que en dicha columna, en las filas 1, 4, y 7 ("Baloncesto", "Futbol", y "Ciclismo")
> lo reconoce como si fuera un Hipervinculo, por lo tanto al hacer click en dichas celdas me sale un
> mensaje diciendome que "la direccion de este sitio no es valida. Compruebe la direccion..."
> Queria evitar que me salga ese mensaje y/o que me lo reconozca como un Hipervinculo.
> Los otros Hipervinculos Si­ funcionan bien.
> PROBLEMA 2:
> El otro problema es que una columna donde existen muchos Hipervinculos creados mediante una formula como la anterior
> ¡&HIPERVINCULO(C1;B1) queria deshacer la formula pero que se mantenga (o que me siga funcionando) el Hipervinculo.
> Es decir: si copio y pego solo valores se pierde el Hipervinculo...



Respuesta Responder a este mensaje
#3 Héctor Miguel
15/10/2006 - 04:18 | Informe spam
hola, javier !

__ 1 __
... probe de varias formas y me parecia que esta funcion tiene un comportamiento un poco extra#o.
Por ejemplo con esta formula: =SI(LARGO(A1)=0;HIPERVINCULO(C1;B1);A1)
en las filas 1, 4 y 7 del ejemplo que dejo, no deberia contener ningun Hipervinculo
o no deberia comportarse como si tuviese un Hipervinculo:
sin embargo al hacer clic aparece un mensaje donde dice que la direccion no es valida.
Por alguna razon esas celdas las reconoce con un formato de Hipervinculo. Y no conseguia evitarlo.



1) el 'detalle' esta en que cuando excel 'siente/encuentra/detecta/...' EL USO de la funcion: -> =hipervinculo(...)
[automaticamente] 'asume/interpreta/pretende/...' que 'quieres ir a...' una direccion de hipervinculo [algo asi como'intellisense'] :))
-> para evitarlo, puedes 'hacer' que un clic en 'esas' celdas no se vaya a ningun lado... con una formula +/- como la siguiente:
=hipervinculo(si(a1="";c1;"#"&direccion(fila();columna()));si(a1="";b1;a1))

__ 2 __
La macro no ha funcionado bien. Lo que me hace es borrar el contenido de las celdas
Quizas en esta linea:
.Clear
habria que poner copiar o pegar? No se.



2) tienes razon :D aqui se trata de una suposicion [mia y equivocada] asumiendo argumentos 'directos' en la funcion [p.e.]
=hipervinculo("http://www.acb.com";"baloncesto americano")
-> no 'acuse recibo' de que los argumentos de la funcion son 'tomados' de celdas :-(
-> y aun mas... no contempla la posibilidad de funciones anidadas ni dentro ni fuera de la funcion 'hipervinculo' :-((
-> 'destripar' una formula y averiguar si la funcion hipervinculo se esta usando, y/o si hay funciones/argumentos 'anidados'...
es un proceso que requiere de su 'sistema de coccion aparte' :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 javier
15/10/2006 - 12:52 | Informe spam
__ 1 __
Muchas gracias Héctor. La fórmula que me has dejado es excelente. Siempre
hay formas nuevas de resolver algo.


__ 2 __
He probado manualmente y he visto que la columna donde tengo las fórmulas
con los Hipervínculos la puedo copiar en un documento Word [.doc]; y desde
ahí la puedo volver a copiar y pegar en una columna de Excel (funciona bien:
desaparece la fórmula y queda como objeto Hipervínculo). Si me das una idea
de cómo hacer esto con una macro… creo que tendría el problema resuelto.

Muchas gracias.
Saludos.
Javier.



-
"Héctor Miguel" escribió:

hola, javier !

__ 1 __
> ... probe de varias formas y me parecia que esta funcion tiene un comportamiento un poco extra#o.
> Por ejemplo con esta formula: =SI(LARGO(A1)=0;HIPERVINCULO(C1;B1);A1)
> en las filas 1, 4 y 7 del ejemplo que dejo, no deberia contener ningun Hipervinculo
> o no deberia comportarse como si tuviese un Hipervinculo:
> sin embargo al hacer clic aparece un mensaje donde dice que la direccion no es valida.
> Por alguna razon esas celdas las reconoce con un formato de Hipervinculo. Y no conseguia evitarlo.

1) el 'detalle' esta en que cuando excel 'siente/encuentra/detecta/...' EL USO de la funcion: -> =hipervinculo(...)
[automaticamente] 'asume/interpreta/pretende/...' que 'quieres ir a...' una direccion de hipervinculo [algo asi como'intellisense'] :))
-> para evitarlo, puedes 'hacer' que un clic en 'esas' celdas no se vaya a ningun lado... con una formula +/- como la siguiente:
=hipervinculo(si(a1="";c1;"#"&direccion(fila();columna()));si(a1="";b1;a1))

__ 2 __
> La macro no ha funcionado bien. Lo que me hace es borrar el contenido de las celdas
> Quizas en esta linea:
> .Clear
> habria que poner copiar o pegar? No se.

2) tienes razon :D aqui se trata de una suposicion [mia y equivocada] asumiendo argumentos 'directos' en la funcion [p.e.]
=hipervinculo("http://www.acb.com";"baloncesto americano")
-> no 'acuse recibo' de que los argumentos de la funcion son 'tomados' de celdas :-(
-> y aun mas... no contempla la posibilidad de funciones anidadas ni dentro ni fuera de la funcion 'hipervinculo' :-((
-> 'destripar' una formula y averiguar si la funcion hipervinculo se esta usando, y/o si hay funciones/argumentos 'anidados'...
es un proceso que requiere de su 'sistema de coccion aparte' :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#5 Héctor Miguel
15/10/2006 - 22:25 | Informe spam
hola, javier !

He probado manualmente y he visto que la columna donde tengo las formulas con los Hipervinculos
la puedo copiar en un documento Word [.doc]; y desde ahi la puedo volver a copiar y pegar en una columna de Excel
(funciona bien: desaparece la formula y queda como objeto Hipervinculo).
Si me das una idea de como hacer esto con una macro creo que tendria el problema resuelto.



asumiendo que estas utilizando la 'nueva' formula propuesta en la columna 'D'...
y que las direcciones 'http://...' se encuentran en la columna 'C' [o una columna a la izquierda]
y los 'capitulos' [cuando no hay direcciones] estan en la columna 'A' [o tres columnas a la izquierda] -?-

prueba con alguna macro +/- como la siguiente [seleccionando un rango de celdas con los 'resultados' de la formula]...

Sub Congelar_hipervinculos()
Application.ScreenUpdating = False
Dim Celda As Range
For Each Celda In Selection
If Celda.Style = "Hyperlink" Then
Celda.Clear
If Celda.Offset(, -3) = "" _
Then Celda.Hyperlinks.Add Celda, Celda.Offset(, -1) _
Else Celda = Celda.Offset(, -3)
End If
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida