Excel - Macro para generar hipervínculos en distintos rangos de una hoja

 
Vista:
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para generar hipervínculos en distintos rangos de una hoja

Publicado por Quico (106 intervenciones) el 14/09/2022 07:47:12
Hace tiempo, me ayudásteis con la creación de una macro que me generaba unos hipervínculos que se daban en la columna C, desde la celda 30 pero sin final.

Era asi:

Sub Hipervinculos()


Application.ScreenUpdating = False
For X = 30 To Range("C" & Rows.Count).End(xlUp).Row 'Esto genera hipervinculos desde la celda 30
If Trim(Range("C" & X)) <> "" Then
ActiveSheet.Hyperlinks.Add _
Anchor:=Range("C" & X), _
Address:="https://myweb.com/browse/" & Range("C" & X)
End If
Next

End Sub

Sin embargo me ha surgido una nueva necesidad, y es que la columa C esta francionada por otros valores de los que no es necesario generar un hipervinculo.
Por ejemplo, ahora necesito generar en distintos rangos:
C30:C40
C:50:C60
C:70:C80
Y no tengo claro como hacerlo. :-(

Queria hacer algo como esto, pero no funciona!


Sub Hipervinculos()


Application.ScreenUpdating = False
Range("C30:C40")
If Trim(Range("C30:C40")) <> "" Then
ActiveSheet.Hyperlinks.Add _
Anchor:=Range("C30:C40"), _
Address:="https://myweb.com/browse/" & Range("C30:C40")
End If
Next

Range("C40:C50")
If Trim(Range("C40:C50")) <> "" Then
ActiveSheet.Hyperlinks.Add _
Anchor:=Range("C40:C50"), _
Address:="https://myweb.com/browse/" & Range("C40:C50")
End If
Next

End Sub

¿Alguien podría indicarme la formulación correcta?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para generar hipervínculos en distintos rangos de una hoja

Publicado por Quico (106 intervenciones) el 15/09/2022 00:26:07
Dado que quizá no me he explicado demasiado bien, adjunto un excel con una plantilla que se asemeja a lo que trato de conseguir.

HiperLinks_RangosSeparados.xlsm

El EXCEL también tienen un texto explicativo,pero que a fin de cuentas, lo que pretende es generar HIPERLINKS en unas celdas de la columna C, pero que van por rangos. Pues la columna C tambien tiene otros valores que no necesitan hiperlink.

Ejemplo:

C10:C21
C27:C37
C44:C54


El HYPERLINK consiste en una ADRESS URL fija + variable que el el valor único de dichas celdas en esos rangos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para generar hipervínculos en distintos rangos de una hoja

Publicado por Antoni Masana (2478 intervenciones) el 15/09/2022 16:05:39
Esto es lo que necesitas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Hipervinculos()
    Application.ScreenUpdating = False
    For X = 11 To 21
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
            Anchor:=Range("C" & X), _
            Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
 
    For X = 27 To 37
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
            Anchor:=Range("C" & X), _
            Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
 
    For X = 44 To 54
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
            Anchor:=Range("C" & X), _
            Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para generar hipervínculos en distintos rangos de una hoja

Publicado por Antoni Masana (2478 intervenciones) el 15/09/2022 16:09:29
Si la primera funciono

1
2
3
4
5
6
7
8
9
10
11
Sub Hipervinculos()
    Application.ScreenUpdating = False
    For X = 30 To Range("C" & Rows.Count).End(xlUp).Row 'Esto genera hipervinculos desde la celda 30
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
                        Anchor:=Range("C" & X), _
                        Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Esta debería servir igual.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Hipervinculos()
    Application.ScreenUpdating = False
    For X = 11 To 21
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
                        Anchor:=Range("C" & X), _
                        Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
 
    For X = 27 To 37
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
                        Anchor:=Range("C" & X), _
                        Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
 
    For X = 44 To 54
        If Trim(Range("C" & X)) <> "" Then
            ActiveSheet.Hyperlinks.Add _
                        Anchor:=Range("C" & X), _
                        Address:="https://myweb.com/browse/" & Range("C" & X)
        End If
    Next
    Application.ScreenUpdating = True
End Sub


Saludos.
\\//_

P.D.: Es una corrección del anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para generar hipervínculos en distintos rangos de una hoja

Publicado por Quico (106 intervenciones) el 16/09/2022 08:05:34
¡¡perfecto Antoni!!! Funciona perfectamente!!

Cuando lo veo, se ve fácil, pero yo erre que erre con meter cosas como C11:C21 aqui:

If Trim(Range("C11:C21" & X)) <> "" Then

Muchas gracias :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar