Presentamos una selección de ejemplos de código en VBA listo para ejecutar mediante cualquier macro o por medio de un evento de algún objeto (Excel, un libro, una hoja o un rango).
En este artículo, ofrecemos líneas de código ejecutable para realizar acciones con un libro o archivo de Excel. Concretamente veremos distintas formas de CERRAR, ABRIR Y GUARDAR con VBA.
El texto en verde que a veces se puede ver entre el código, es el que debe personalizar el usuario, si procede.
CERRAR UN LIBRO DE EXCEL CON VBA
1) Cierra un libro de Excel llamado "Libro1.xlsx" (comprueba primero que está abierto). Si ha habido cambios en dicho libro, pregunta si se desea guardarlos.
1) Cierra un libro de Excel llamado "Libro1.xlsx" (comprueba primero que está abierto). Si ha habido cambios en dicho libro, pregunta si se desea guardarlos.
Sub CerrarLibro1()
Dim TestWorkbook As Workbook
Set TestWorkbook = Nothing
On Error Resume Next
Set TestWorkbook = Workbooks("Libro1.xlsx")
On Error GoTo 0
If TestWorkbook Is Nothing Then
MsgBox "El archivo no estaba abierto"
Else
Workbooks("Libro1.xlsx").Close
End If
End Sub
2) Cierra el libro de Excel que esta activo en este momento (pregunta si guarda los cambios).
ActiveWorkbook.Close
End sub
ABRIR UN LIBRO DE EXCEL CON VBA
4) Abrir un libro de Excel llamado "Libro1.xlsx" que está en la misma carpeta o ruta que el libro en el que estamos trabajando.
End sub
3) Cierra el libro de Excel que esta activo en este momento y guarda los cambios.
Sub CerrarYGuardar()
ActiveWorkbook.Close savechanges:=True
End Sub
ABRIR UN LIBRO DE EXCEL CON VBA
4) Abrir un libro de Excel llamado "Libro1.xlsx" que está en la misma carpeta o ruta que el libro en el que estamos trabajando.
Sub AbrirLibro1MismaRuta()
Dim TestWorkbook As Workbook
Set TestWorkbook = Nothing
On Error Resume Next
Set TestWorkbook = Workbooks("Libro1.xlsx")
On Error GoTo 0
If TestWorkbook Is Nothing Then
ruta = ActiveWorkbook.Path Workbooks.Open Filename:=ruta & "\Libro1.xlsx"
Else
MsgBox "El archivo ya estaba abierto"
End If
End sub
5) Abre un libro de Excel llamado "Libro1.xlsx" que está en la ruta :
C:\Carpeta1\Carpeta2\Carpeta3
Workbooks.Open Filename:=ruta & "\Libro1.xlsx"
6) Abrir cualquier libro de Excel (se abre el cuadro de diálogo "Abrir archivo" para elegirlo).
C:\Carpeta1\Carpeta2\Carpeta3
Sub AbrirLibro1RutaConcreta()
Dim TestWorkbook As Workbook
Set TestWorkbook = Nothing
On Error Resume Next
Set TestWorkbook = Workbooks("Libro1.xlsx")
On Error GoTo 0
If TestWorkbook Is Nothing Then
ruta = "C:\Carpeta1\Carpeta2\Carpeta3"Workbooks.Open Filename:=ruta & "\Libro1.xlsx"
Else
MsgBox "El archivo ya estaba abierto"
End If
End sub
Sub AbrirArchivo()
Application.Dialogs(xlDialogOpen).Show
End Sub
Application.Dialogs(xlDialogOpen).Show
End Sub
GUARDAR UN LIBRO DE EXCEL CON VBA
7) Guarda los cambios en el libro de Excel activo.
7) Guarda los cambios en el libro de Excel activo.
Sub GuardarArchivo()
ActiveWorkbook.Save
End sub
ActiveWorkbook.Save
End sub
8) Guarda los cambios en el libro de Excel activo y abre el diálogo "Guardar como" para hacer una copia de seguridad en una ubicación a elegir.
Sub GuardarComo()
ActiveWorkbook.Save
Application.Dialogs(xlDialogSaveAs).Show
End sub
ActiveWorkbook.Save
Application.Dialogs(xlDialogSaveAs).Show
End sub
José Manuel Pomares Medrano
Excel -ente pagina muchas gracias
ResponderEliminargracias!
ResponderEliminarMuy muy completo y claro gracias miles
ResponderEliminarHola, es posible crear una macro que al cerrar un libro especifico de excel, me abra otro?
ResponderEliminar