Generar una macro desde un libro y que me cierre otro libro, que no siempre tiene el mismo nombre.

Buenos días Expertos... Lo que quiero hacer es generar una macro desde un libro y que me cierre otro libro, que no siempre tiene el mismo nombre, lo que tiene en común este libro es el nombre de la hoja....

Espero me puedan ayudar

Muchas Gracias

Daniel

Respuesta
1

¿Pero cómo saber cuál nombre de hoja tomar?

¿La qué esté activa?

¿Y quieres cerrar el otro libor presionando un botón?

Tal vez te sirva así

Sub cerrar()
'Por.DAM
nom = ActiveSheet.Name
On Error GoTo noesta
    Workbooks(nom).Close
    Exit Sub
noesta:
    MsgBox "el libro no está abierto", vbExclamation
End Sub

Saludos.DAM
Si es lo que necesitas.

Buenas tardes, muchas gracias por ocuparte....

La hoja del libro que quiero cerrar, siempre se va a llamar "Reintegro" y el libro activo se llama viáticos.

Lo que quiero hacer es apretando un botón desde el libro activo "viáticos" me cierre el otro libro que no siempre tiene el mismo nombre pero que tiene en común es que siempre contiene una hoja que se llama "reintegro"

En tu libro "viáticos" Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel "viáticos"
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: cerrar
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub cerrar()
'Por.DAM
actual = ThisWorkbook.Name
For Each wb In Workbooks
    If wb.Name <> actual Then
        wb.Activate
        For Each h In Sheets
            If h.Name = "reintegro" Then
                esta = True
                wb.Close
                Exit For
            End If
        Next
    End If
Next
If esta = False Then
    MsgBox "el libro no está abierto", vbExclamation
End If
End Sub

Saludos.DAM
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas