Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como abrir otro libro y copiar o exportar datos del libro actual


.

Infinidades de veces se requiere copiar datos de un libro a otro, este post te muestra una macro que permite copiar datos del libro actual a otro libro, es decir permite seleccionar un archivo luego abrirlo copiar los datos del libo actual al libro que se abrió guardar los cambios y cerrarlo. Anteriormente se presentó otros post parecidos que quizás sean de interés como por ejemplo: macro que abre una serie de libros extrae datos y hace resumen o recorrer todas las hojas del libro y hacer un resumen.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  
Al descargar el archivo comprimido se encontrará una macro y un libro que se utiliza de muestra, pero puede usar cualquier libro de su PC, teniendo la precaución de que los datos contenidos en el libro con la macro se copiarán el en libro que se selecciones y se guardarán los cambios, por eso sugiero utilizar el libro que se acompaña para evitar perder datos de otros libros.

Presionado el botón se ejecuta una macro que abre un explorador de archivos de Windows, permitiendo seleccionar un archivo, luego la macro copia los datos del libro actual, abre el archivo seleccionado, copia los datos y cierra el libro que se selecciono como destino de los datos copiados o exportados, guardando los cambios.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.


if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

Código que se inserta en un módulo
Sub openbook()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim myfile, mybook, a, b, c As String
ruta = ActiveWorkbook.Path
ChDir ruta
myfile = Application.GetOpenFilename(«Archivos Excel (*.xl*), *.xl*»)
If VarType(myfile) = vbBoolean Then
MsgBox («Operación cancelada»), vbCritical, «AVISO»
Exit Sub
End If
mybook = ActiveWorkbook.Name
Workbooks.Open Filename:=myfile, UpdateLinks:=0
FullName = Split(myfile, Application.PathSeparator)
a = FullName(UBound(FullName))
Set b = Sheets(ActiveSheet.Name)
b.Cells.Clear
Workbooks(mybook).Sheets(«Datos»).UsedRange.Copy Destination:=Workbooks(a).Sheets(«Hoja1»).Cells(1, 1)
Application.CutCopyMode = False
Workbooks(a).Close True
MsgBox («Los datos se exportaron con éxito»), vbInformation, «AVISO»
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends