Attribute VB_Name = "AbrirLibros" ' Gerencie.com - Macros para abrir libros de Excel desde otro libro. ' Importar en el editor de VBA (Alt + F11): Archivo > Importar archivo. ' 1. Abrir un libro con su ruta completa Sub AbrirLibroRutaFija() Workbooks.Open Filename:="C:\Contabilidad\Ventas 2026.xlsx" End Sub ' 2. Abrir un libro que está en la misma carpeta que este Sub AbrirLibroMismaCarpeta() Dim ruta As String ruta = ThisWorkbook.Path & Application.PathSeparator & "Ventas 2026.xlsx" If Dir(ruta) = "" Then MsgBox "No se encontró el archivo: " & ruta Exit Sub End If Workbooks.Open Filename:=ruta End Sub ' 3. Elegir el archivo en una ventana Sub AbrirLibroElegido() Dim archivo As Variant archivo = Application.GetOpenFilename("Libros de Excel (*.xls*), *.xls*", , "Seleccione el libro") If archivo = False Then Exit Sub Workbooks.Open Filename:=archivo End Sub ' 4. Abrir solo para lectura y traer un dato a este libro Sub AbrirLeerYCerrar() Dim libro As Workbook Set libro = Workbooks.Open(Filename:=ThisWorkbook.Path & Application.PathSeparator & "Ventas 2026.xlsx", ReadOnly:=True) ThisWorkbook.Worksheets(1).Range("B2").Value = libro.Worksheets("Resumen").Range("B10").Value libro.Close SaveChanges:=False End Sub ' 5. Abrir solo si no está abierto, y activar una hoja Sub AbrirSiNoEstaAbierto() Dim libro As Workbook, nombre As String nombre = "Ventas 2026.xlsx" On Error Resume Next Set libro = Workbooks(nombre) On Error GoTo 0 If libro Is Nothing Then Set libro = Workbooks.Open(ThisWorkbook.Path & Application.PathSeparator & nombre) libro.Worksheets("Resumen").Activate End Sub ' 6. Abrir la ruta escrita en una celda (por ejemplo B1 de la hoja activa) Sub AbrirRutaDeCelda() Dim ruta As String ruta = ActiveSheet.Range("B1").Value If Dir(ruta) = "" Then MsgBox "No se encontró el archivo: " & ruta Else Workbooks.Open Filename:=ruta End If End Sub