Cómo copiar un archivo de Excel (libro de trabajo) usando VBA – Código de macro

Si eres usuario de Excel y necesitas automatizar el proceso de copiar archivos, estás en el lugar indicado. En este artículo, te enseñaremos cómo copiar un archivo de Excel, también conocido como libro de trabajo, utilizando VBA (Visual Basic for Applications). Este lenguaje de programación te permitirá crear una macro que haga todo el trabajo por ti, ahorrándote tiempo y esfuerzo. Sigue leyendo para descubrir cómo implementar este código de macro y simplificar tu vida laboral.

Puede usar un código VBA para copiar un archivo (libro de trabajo) de una carpeta a otra o también puede copiar un archivo a la misma carpeta con un nombre diferente.

En este tutorial, veremos cómo podemos escribir código en ambos sentidos. Aquí necesitas usar el Objeto del sistema de archivos que ayuda a acceder a archivos y carpetas en Windows.

Copie un archivo de Excel a una carpeta separada

Sub myMacro()

Dim myFile As Object
Set myFile = CreateObject("Scripting.FileSystemObject")
Call myFile.CopyFile("C:\Users\puneet\Desktop\folder\test-file.xlsx", "C:\Users\puneet\Desktop\", True)

End Sub

Para escribir el código anterior:

Cómo copiar un archivo de Excel (libro de trabajo) usando VBA – Código de macro
  1. Primero, necesitas declarar una variable.
  2. Luego, debe especificar FileSystemObject en la variable que acaba de definir.
  3. A continuación, debe definir la ubicación de origen en el método “CopyFile”.
  4. Al final, define la ubicación de la carpeta donde deseas pegarlo.

Cuando ejecuta esta macro, copia el “archivo de texto” del libro de Excel de la carpeta y lo pega en la ubicación que hemos especificado en el código.

Cómo copiar un archivo de Excel (libro de trabajo) usando VBA – Código de macro

Copiar un archivo y cambiarle el nombre

Cuando intenta copiar y pegar un archivo en la misma ubicación, hay muchas posibilidades de que VBA le muestre un error. En esta situación, la mejor manera es cambiar el nombre del archivo mientras lo copia.

Call myFile.CopyFile("C:\Users\puneet\Desktop\folder\test-file.xlsx",
"C:\Users\puneet\Desktop\", True)

Arriba está el código de línea que utilicé en el método anterior. Ahora necesitas hacer un cambio sólo en esta línea. Para la ubicación de destino, debe agregar el archivo que desea usar para el nuevo archivo.

Call myFile.CopyFile("C:\Users\puneet\Desktop\folder\test-file.xlsx", 
"C:\Users\puneet\Desktop\folder\test-file1.xlsx ", True)

Cuando ejecute este código, copiará el archivo (archivo de texto.xlsx) de la carpeta y lo copiará a la misma carpeta con un nombre diferente (archivo de prueba1.xlsx).

Cómo copiar un archivo de Excel (libro de trabajo) usando VBA – Código de macro
Dim myFile As Object

Set myFile = _
CreateObject("Scripting.FileSystemObject")

Call myFile.CopyFile("C:\Users\puneet\Desktop\folder\test-file.xlsx", _
"C:\Users\puneet\Desktop\folder\test-file1.xlsx", True)

End Sub

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Cómo copiar un archivo de Excel (libro de trabajo) usando VBA – Código de macro

Preguntas frecuentes sobre cómo copiar un archivo de Excel utilizando VBA

Si eres un usuario de Excel y estás interesado en automatizar la copia de archivos mediante el uso de VBA (Visual Basic for Applications), es posible que te surjan algunas preguntas frecuentes. Aquí, responderemos algunas de las interrogantes más comunes que podrías tener al respecto.

1. ¿Qué es VBA?

VBA (Visual Basic for Applications) es un lenguaje de programación que se utiliza para automatizar tareas en aplicaciones de Microsoft Office, como Excel. Con VBA, puedes escribir código que realice acciones específicas en tu libro de trabajo de Excel, como copiar archivos entre carpetas.

2. ¿Cómo puedo copiar un archivo de Excel utilizando VBA?

Para copiar un archivo de Excel usando VBA, puedes utilizar el siguiente código de macro:


Sub CopiarArchivo()
Dim Origen As String
Dim Destino As String
Origen = "C:\Ruta\Origen\archivo.xlsx"
Destino = "C:\Ruta\Destino\archivo_copia.xlsx"
FileCopy Origen, Destino
End Sub

3. ¿Cómo puedo especificar las rutas de origen y destino en el código?

En el código de ejemplo anterior, debes reemplazar “C:\Ruta\Origen\archivo.xlsx” con la ruta de origen de tu archivo de Excel y “C:\Ruta\Destino\archivo_copia.xlsx” con la ruta de destino donde deseas copiar el archivo.

4. ¿Puedo copiar archivos entre diferentes ubicaciones o unidades en mi computadora?

Sí, puedes copiar archivos entre diferentes ubicaciones o unidades en tu computadora utilizando VBA. Solo necesitas asegurarte de especificar correctamente las rutas de origen y destino en el código de macro.

5. ¿Qué sucede si el archivo de destino ya existe?

Si el archivo de destino ya existe, el código de macro reemplazará el archivo existente con el nuevo archivo copiado.

6. ¿Dónde puedo aprender más sobre VBA y macros en Excel?

Si deseas ampliar tus conocimientos sobre VBA y macros en Excel, aquí hay algunas fuentes externas que pueden ser útiles:

  1. Inicio rápido de VBA para Excel – Soporte de Microsoft
  2. VBA Tutorial – Excel Easy
  3. Excel VBA Programming For Dummies Cheat Sheet

Con esta información, deberías estar preparado para comenzar a copiar archivos de Excel utilizando VBA. ¡Buena suerte!


Deja un comentario