¿Cómo puedo hacer un Hipervínculo con una Hoja del mismo libre de excel?

Tengo un botón donde me guarda los datos de una hoja llamada "Planilla de Solicitud" no solo guarda lo datos en una base de dato(otra Hoja "Base de Datos") si no que también me duplica la hoja "Planilla de Solicitud" pero con el nombre de un rango especifico que esta en la hoja "Planilla de Solicitud" lo que quiero que al yo darle a la base de datos el datos que seleccione me aparezca la hoja con el nombre del rango osea la duplicada no se si me explico.

2 Respuestas

Respuesta
1

Aquí un breve explicación de la que quiero

Respuesta
2

Pon la siguiente macro en los eventos de tu hoja base d datos

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por Dante Amor
    'Copiar hoja Planilla de Solicitud
    '
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        If Target.Row = 1 Then Exit Sub
        nombre = Target.Value
        existe = False
        For Each h In Sheets
            If LCase(h.Name) = LCase(nombre) Then
                existe = True
                Exit For
            End If
        Next
        If existe Then
            MsgBox "La hoja ya existe"
        Else
            Sheets("Planilla de Solicitud").Copy after:=Sheets(Sheets.Count)
            ActiveSheet.Name = nombre
            MsgBox "Hoja Creada"
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro


.

.

¿Disculpe mi ignorancia pero luego de a ver copiado el código en la Hoja de Planilla de Solicitud que debo hacer?

No se si lo copie bien pero no veo que haga algo

Ya entendí como funciona pero no quiero que me cree otra hoja si no que me llame la hoja que cree con el nombre del rango especifico

No te preocupes, me faltó comentar esa parte.

Tienes que copiar el código en tu hoja "Base de Datos"

Esto es lo que comentaste:

(Otra Hoja "Base de Datos")

Pero no veo tu hoja de "Base de Datos"


Según tu imagen, esta es tu hoja de "base de datos"

En esa hoja tienes que poner el código.

Después de poner tu código, simplemente selecciona cualquier celda de la columna B y la macro se ejecutará en automático.


Avísame cualquier duda.


Si ya lo resolviste, no olvides valorar.

Si ya lo resolví solo que no quiero que me cree una hoja si no que me llame la hoja que ya cree con el nombre de ese rango osea ponerle un hipervínculo para llamarla al yo darle click

Te anexo la macro actualizada. Pon la macro en la hoja "base de datos".

Cuando selecciones un nombre en la columna B, en automático te seleccionará hoja con ese nombre.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por Dante Amor
    'Copiar hoja Planilla de Solicitud
    '
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Columns("B")) Is Nothing Then
        If Target.Row = 1 Then Exit Sub
        nombre = Target.Value
        existe = False
        For Each h In Sheets
            If LCase(h.Name) = LCase(nombre) Then
                existe = True
                Exit For
            End If
        Next
        If existe Then
            Sheets(nombre).Select
        Else
            MsgBox "La hoja NO existe"
        End If
    End If
End Sub

sal u dos. no olvides valorar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas