Macro para copiar entre libros

Requiero una macro que copie los datos de una hoja de Excel de un libro a otra hoja de un libro distinto: el rango de celdas es B5:X300 el libro de origen y el de destino están en una misma carpeta.

Por cierto, quiero saber si puedo usar la macro para tres hojas distintas del mismo libro, es decir, voy a aplicar la macro para que se comuniquen tres libros de origen con uno de destino.

1 Respuesta

Respuesta
2

Comenta en el siguiente orden:

1. ¿Los libros van a estar abiertos?

2. ¿Quieres la macro para 1 libro origen - 1 libro destino o para 3 libros origen - 1 libro destino?

Si son 3 libros origen, debes poner los nombres de las 3 hojas y el rango de cada hoja..

3. Nombre libro origen

4. Nombre hoja libro origen

5. Rango hoja libro origen

6. Nombre libro destino

7. Nombre hoja libro destino

8. Rango hoja libro destino.


Procura responder en ese orden sin omitir números, de esa manera será más práctico realizar la macro.

1. El libro de destino estará abierto, el (los)libro (s) de origen no. 

2. Requiero una macro para un libro origen y un libro destino y también tengo el caso de que de un libro origen me vaya a tres libros destino. son dos macros

Macro 1

3. "Parte Diario Comercial" en mayúscula

4. "Pi Comercial"

5. B5:X300

6. "Parte Diario AT"

7. "PI COMERCIAL"

8. B5:X300

Macro 2

3. "PARTE DIARIO VEREDA" en mayúscula

4. "PI VEREDA"

5. B5:X300

6. "PARTE DIARIO AT" , "PARTE DIARIO NNSS", "PARTE DIARIO DISTRIBUCIÓN"; "PARTE DIARIO COMERCIAL"

7. "PI VEREDA" (las cuatro hojas se llaman igual)

8 B5:X300 (para todas)

Vamos por partes.

Te entrego la macro1. Crea una nueva pregunta para la macro2.


Cambia "C:\trabajo\" por la ruta donde tienes el archivo origen.

Pon la macro en el archivo destino.

Sub Copiar_Rango()
'Por Dante Amor
  Dim wb2 As Workbook
  Dim sh1 As Worksheet
  Application.ScreenUpdating = False
  '
  Set sh1 = ThisWorkbook.Sheets("PI COMERCIAL")
  Set wb2 = Workbooks.Open("C:\trabajo\" & "Parte Diario Comercial.xlsx")
  '
  sh1.Range("B5:X300").Value = wb2.Sheets("Pi Comercial").Range("B5:X300").Value
  wb2.Close False
End Sub

Disculpa se ejecuta sola? o puedo colocarle un botón para solicitar la actualización?

Debes poner un botón para ejecutarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas