MACRO EN EXCEL PARA COPIAR DATOS DESDE UN ARCHIVO EXCEL A OTRO

0
2627

La creación de una macro para copiar datos de un archivo a otro en Excel requiere meticulosidad y atención para evitar horas de investigación. Al desarrollar esta macro en Excel, es fundamental considerar la referencia o ubicación de los datos fuente a copiar. Estos datos pueden referenciarse dinámicamente o de manera estática, sirviendo como base para ampliar o reducir las funcionalidades de la macro según las necesidades específicas y el conocimiento en el desarrollo de código VBA.

LA COLECCIÓN WORKBOOKS EN VBA

Si se tiene experiencia en la programación en Excel seguramente conocerás el modelo de objetos y su jerarquía, donde uno de los objetos ampliamente utilizado es el objeto Workbook el cual representa un libro de Excel. Ya que al utilizar Excel podemos trabajar con múltiples libros a la vez, fue necesario crear un  objeto adicional que nos ayudara a agrupar y manejar todos esos libros y así es como surge la colección Workbooks.

Ya que la colección Workbooks es a su vez un objeto en Excel, tendrá sus propios métodos y propiedades y en esta ocasión centraremos nuestra atención en su método Open.

EL MÉTODO OPEN DEL OBJETO WORKBOOKS

El método Open de la colección Workbooks tiene 15 argumentos, así que dejaremos la revisión detallada de cada uno de ellos para otra ocasión. El único argumento que nos interesa por ahora es la ruta del archivo que deseamos abrir la cual es proporcionada al método Open como una cadena de texto de la siguiente manera:

Set wbDestino = Workbooks.Open("C:\LibroDestino.xlsx")

Es importante que la ruta del archivo indicado sea la correcta o de lo contrario obtendremos un mensaje de error. Pero si todo funciona correctamente, obtendremos un nuevo objeto Workbook que hará referencia al archivo indicado y podremos hacer referencia a cualquier hoja y celda de dicho libro para copiar los datos deseados.

Curso que te podría interesar: CURSO EN MICROSOFT OFFICE EXCEL 

MACRO PARA COPIAR DATOS A OTRO LIBRO EN EXCEL

Ahora que ya sabes cómo abrir un libro de Excel utilizando VBA, podemos escribir el código de nuestra macro para copiar datos a otro libro.

Las diferencias entre esta nueva macro y la publicada en el artículo original son las siguientes:

  • Línea 4: Definí la variable wbDestino como un objeto del tipo Workbook que nos servirá para guardar la referencia al libro destino.
  • Línea 11: El método Workbooks.Open se encarga de abrir el libro a donde se copiarán los datos y la referencia se guardará en la variable wbDestino.
  • Línea 14: El libro abierto se convierte en el libro activo así que, para que las referencias del resto del código funcionen tal como en la versión original, activo de nueva cuente al libro donde se encuentra el código con la instrucción ThisWorkbook.Activate.
  • Línea 18: Utilizo el objeto wbDestino para hacer referencia a la hoja de dicho libro a donde se copiarán los datos.
  • Línea 39 y 40: Los métodos Save y Close me permiten guardar los cambios en el libro destino y finalmente cerrarlo.

Es importante que la ruta al libro destino sea correcta o de lo contrario recibirás un mensaje de error. De la misma manera, la hoja de destino indicada debe existir en dicho libro o también recibirás un mensaje de error.

COPIAR DATOS A OTRO LIBRO CON LA MACRO

El archivo de descarga que preparé para este artículo es un archivo comprimido donde encontrarás el archivo LibroOrigen.xlsm que contiene el código de la macro. También he incluido dentro del comprimido el archivo LibroDestino.xlsx que es necesario para que el código funcione correctamente. Para probar la macro solo deberás abrir el archivo LibroOrigen.xlsm y pulsar el botón Copiar.

Macro para copiar datos a otro archivo de Excel

Al utilizar el método PasteSpecial con el argumento xlPasteValues en la Línea 35, ten en cuenta que se pegarán los valores sin formato. Si buscas mantener el formato al copiar datos, simplemente reemplaza este argumento por xlPasteAll.

Para probar con tus propios archivos, copia el código VBA y realiza dos ajustes cruciales: asegúrate de especificar correctamente la ruta del archivo destino en la Línea 11 y el nombre de la hoja donde se copiarán los datos en la Línea 18.

Te recomendamos ver este video de: ¿Cómo hacer un registro de cliente con macro de forma sencilla?.

Además, invitarte a seguir nuestra cuenta de tik tok.

Artículo que te recomendamos leer:

¿Qué te pareció nuestra blog? Coméntanos.

Comentarios

PROGRAMA DE ESPECIALIZACIÓN EN GESTION TRIBUTARIA.

Fecha: Desde 01 de Junio a 20 de Julio

Horario: 6:30 p.m. – 10:30 p.m.

Frecuencia: Cada Sábado

Duración: 8 sesiones, 8 módulos, 2 meses.



0 0 votes
Article Rating
Suscribe
Notify of
guest

0 Comentarios
Inline Feedbacks
View all comments