En este artículo, aprenderemos sobre el método de cierre y apertura en Excel VBA que se utiliza para abrir el libro de trabajo cerrado y también cerrar el libro de trabajo abierto.
Creamos un botón de comando en la hoja de Excel y asignamos una macro.
Para saber cómo crear un control Activex, haga clic en el enlace
https://www.exceltip.com/tips/activex-controls-in-microsoft-excel-2010.html
¿Cómo abrir un libro de Excel a través de VBA?
Siga los pasos y la codificación que se indican a continuación: -
- Inserte 2 botones de comando.
- El primer botón de comando que usamos para hacer clic con el botón derecho del mouse en el botón de comando.
- La página VBE se abrirá y copiará la siguiente codificación y la pegará en la página VBE.
- Para abrir el libro de trabajo, asigne la macro mencionada a continuación.
'definir variable para nombre de archivo
Dim csFileName como cadena
'obtener el nombre de archivo de la celda A1 en Sheet1
csFileName = ThisWorkbook.Sheets ("Ejemplo de apertura y cierre"). Rango ("A1")
'abre el libro de trabajo
Workbooks.Open csFileName
MsgBox csFileName & "abierto"
End Sub
- Segundo botón de comando que usamos para hacer clic con el botón derecho del mouse en el botón de comando.
- La página VBE se abrirá y copiará la siguiente codificación y la pegará en la página VBE.
- Para abrir el libro de trabajo, asigne la macro mencionada a continuación.
'definir variable para nombre de archivo
Dim csFileName como cadena
'obtener el nombre de archivo de la celda A1 en Sheet1
csFileName = ThisWorkbook.Sheets ("Ejemplo de apertura y cierre"). Rango ("A1")
'cierre el libro de trabajoLibros de trabajo (Split (csFileName, "\") (UBound (Split (csFileName, "\")))). CloseMsgBox Split (csFileName, "\") (UBound (Split (csFileName, "\"))) & " cerrado"
End Sub
Ambas macros se asignarán a los botones de comando, tenemos que usar la siguiente codificación de macros.
Opción explícitaSub sExample () Const csFileName como cadena = _
Libros de trabajo "C: \ Test \ Master.xlsx".
csFileNameWorkbooks (Split (csFileName, "\") (UBound (Split (csFileName, "\")))). Cerrar
End SubSub sOpenWorkbook ()
'definir variable para nombre de archivo
Dim csFileName como cadena
'obtener el nombre de archivo de la celda A1 en Sheet1
csFileName = ThisWorkbook.Sheets ("Ejemplo de apertura y cierre"). Range ("A1") 'abre el libro de trabajo
Workbooks.Open csFileNameMsgBox csFileName & "open"
End SubSub sCloseWorkbook ()
'definir variable para nombre de archivo
Dim csFileName As String 'obtenga el nombre de archivo de la celda A1 en Sheet1
csFileName = ThisWorkbook.Sheets ("Ejemplo de apertura y cierre"). Rango ("A1")
'cierre el libro de trabajoLibros de trabajo (Split (csFileName, "\") (UBound (Split (csFileName, "\")))). CloseMsgBox Split (csFileName, "\") (UBound (Split (csFileName, "\"))) & " cerrado"
End Sub
Nota: - Tienes que mencionar la ruta de acuerdo con tu archivo.