Macro o función para abrir un libro, guardar información ¿De otro libro y cerrar?

Necesito una macro o función para abrir un libro, guardar información de otro libro y cerrar

De un libro guardo información a otro pero lo tengo que tener abrierto, hay alguna función para que automáticamente se abra, guarde la información y se cierre, sin necesidad de tenerlo abierto o de estarlo abriendo cada vez que voy a usar el primer libro

1 respuesta

Respuesta
1

Pues depende de la información que tengas.

1) Si lo que quieres es no tener abierto el archivo para correr la macro se puede hacer una macro para que abra el archivo, copie la información, la pegue, luego guarde el archivo donde pegaste la información, lo cierre y retorne al archivo original, además si no quieres que se vea este proceso se puede condicionar a al macro para que no lo muestre

2) Si se trata de información en forma de tabla, es decir que siempre es la misma, pero se aumentan valores al final porque lo va almacenando, puedes en la pestaña de Datos en las opciones de Datos externos traer la información en forma de tabla y cada vez que abras el archivo se actualiza con la información que esta en el archivo original sin necesidad de estar copiando, pegando guardando y cerrando con cada cambio.

Que es lo que más te sirve.

Es la información de facturación que se va pegando y guardando en el la contabilidad que esta en otro libro cada vez que hago una factura, lo tengo actualmente gracias a la ayuda de un experto esto pero tengo que tener abierto los dos libros. La idea es que automáticamente se habrá, se pegue,se guarde y se cierre el archivo de contabilidad.

Espero me haya explicado

Gracias

Sub abrir()
' Estos códigos hacen invisible la macro
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
' Este código abre tu archivo donde quieres pegar la información, debes cambiar la ruta y el nombre del archivo
Workbooks.Open Filename:= _
"F:\FINANCIERO\CONTABILIDAD\base.xlsb"
nombre_abre = ActiveWorkbook.Name
Longitud_abre = InStrRev(nombre_abre, ".")
nombre_abre = Left(nombre_abre, Longitud - 1)

' Aquí van tus códigos para la copia.

'Estos códigos ubican el archivo copia, guarda y cierra
Windows("nombre_abre").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Application.ScreenUpdating = True
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
End Sub

hola experto cambien la ruta como me dijiste pero me dice que verifique la ruta y la otografia y según yo esa bien.... que estare haciendo mal?

Saludos

Sub ABRIR()
' Estos códigos hacen invisible la macro
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
' Este código abre tu archivo donde quieres pegar la información, debes cambiar la ruta y el nombre del archivo
Workbooks.Open Filename:= _
"D:\Contabilidad\PRUEBA\2013.xlsb"
nombre_abre = ActiveWorkbook.Name
Longitud_abre = InStrRev(nombre_abre, ".")
nombre_abre = Left(nombre_abre, Longitud - 1)
' Aquí van tus códigos para la copia.
'Estos códigos ubican el archivo copia, guarda y cierra
Windows("nombre_abre").Activate
ActiveWorkbook.Sabe
ActiveWindow.Close
Application.ScreenUpdating = True
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
End Sub

Creo que la mejor manera de saber que está mal, es grabando una macro y revisando que dirección abre. Sigue los siguientes pasos:

1) Vas a la pestaña de programador y presionas grabar macro

2) Abres el archivo donde colocas la información copiada

3) Guardar el archivo y lo cierras

4) Detienes la grabación de la macro

5) Revisa en le vb la macro que grabaste y verifica la ruta que asigna la macro al abrir el archivo vs la ruta que tu designaste.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas