Activar una hoja al hacer doble clic en una celda
Resuelto
Walles
Mensajes publicados
15
Estado
Miembro
-
Walles Mensajes publicados 15 Estado Miembro -
Walles Mensajes publicados 15 Estado Miembro -
Hola a todos (perdón por los acentos, pero tengo un teclado qwerty...),
Me gustaría abrir una hoja de mi archivo de Excel al hacer doble clic en una celda.
El objetivo sería tener en la primera página celdas que contengan texto y cuando uno haga doble clic en una celda, se abriría la página con el mismo nombre. Más o menos he conseguido hacerlo, pero de manera muy rudimentaria y nada evolutiva.
Les doy un ejemplo:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = ("A") Then
Sheets("A").Activate
End If
If Target.Value = ("B") Then
Sheets("B").Activate
End If
If Target.Value = ("C") Then
Sheets("C").Activate
End If
If Target.Value = ("D") Then
Sheets("D").Activate
End If
End Sub
He intentado crear bucles, declarar variables pero no hay manera, solo esto está funcionando por ahora.
Además, este archivo será evolutivo, debería ser que si tenemos que agregar algo, llenamos una nueva celda, creamos la hoja con el mismo nombre y el vínculo se haga automáticamente.
Espero haber sido claro, no duden en pedirme más información si la necesitan.
Gracias de antemano.
Me gustaría abrir una hoja de mi archivo de Excel al hacer doble clic en una celda.
El objetivo sería tener en la primera página celdas que contengan texto y cuando uno haga doble clic en una celda, se abriría la página con el mismo nombre. Más o menos he conseguido hacerlo, pero de manera muy rudimentaria y nada evolutiva.
Les doy un ejemplo:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = ("A") Then
Sheets("A").Activate
End If
If Target.Value = ("B") Then
Sheets("B").Activate
End If
If Target.Value = ("C") Then
Sheets("C").Activate
End If
If Target.Value = ("D") Then
Sheets("D").Activate
End If
End Sub
He intentado crear bucles, declarar variables pero no hay manera, solo esto está funcionando por ahora.
Además, este archivo será evolutivo, debería ser que si tenemos que agregar algo, llenamos una nueva celda, creamos la hoja con el mismo nombre y el vínculo se haga automáticamente.
Espero haber sido claro, no duden en pedirme más información si la necesitan.
Gracias de antemano.
3 respuestas
-
Hola,
Intenta conPrivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name = Target.Value Then
Sheets(Target.Value).Activate
Exit For
End If
Next Ws
End Sub
¡Hasta luego! -
Hola
Tienes los enlaces hipertexto que hacen eso sin recurrir a VBA
Si no, prueba esto (para un doble clic en el rango B2:B5)
Const rango = "B2:B5"
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range(rango)) Is Nothing Then
Sheets(Target.Value).Select
End If
End Sub
Saludos -