.
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.
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 seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar 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
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
.
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