Muchas veces necesitamos copiar algunos datos en un libro externo. Para ello, se puede usar una macro y así hacerlo de manera inmediata.
Para nuestro caso ejemplo se tiene un Excel con la siguiente data:
Se deseara copiar los datos desde la celda B4 a la C10 (rango) en un libro nuevo en la celda A1 de su primera hoja. Luego, se desactivaran las notificaciones y se guardara el archivo en el sistema, especificando la ruta. Finalmente, se activaran de nuevo las alertas, ya que son necesarias para ver si Excel esta funcionando correctamente.
La macro para este ejemplo seria:
(Para mayor visualización de la imagen, hacer click en la misma)
Este código da como resultado un libro como el siguiente:
Forma de uso:
La forma de uso de esta macro seria copiar los códigos en un modulo en VBA, cambiándole los datos de las celdas dependiendo de lo que se busque copiar y el nombre de la hoja donde se encuentran, asi como cambiar la ruta donde se guardara el archivo.
Por: Adriana del Pilar Silva
17/02/2016 a las 8:57 am
Hola les hago una consulta: Tengo una planilla excel con direcciones de mails de clientes en la columna A. En la columna B tengo el detalle de los clientes que se van dando de baja. Y quisiera crear una formula para que; los datos de la columna B se vayan restando automaticamente a la columna de A y que el resultado quede en la columna C. Se puede? Les agradezco su tiempo! Hugo
22/08/2016 a las 9:23 am
Hola buenos días, necesito que me ayuden con un macro.
La cosa es que necesito un macro que genere un archivo excel llamado reporte y en el copie 3 Hojas de calculo (Resumen; Inventario; Reparaciones). y guarde este archivo excel con el nombre de "reporte_YYMMDD.xlsx".
Desde ya muchas gracias.
Diego
30/11/2016 a las 10:17 am
Sub CrearLibroYCopiarHojas()
Dim origen As Workbook
Dim destino As Workbook
'Congelamos mientras trabaja la macro
Application.ScreenUpdating = False
Set origen = ActiveWorkbook
Workbooks.Add
Set destino = ActiveWorkbook
'Volvemos al libro de origen
origen.Activate
'Buscar las tres hojas y copiarlas en el libro nuevo
Sheets(Array("Resumen", "Inventario", "Reparaciones")).Copy Before:=destino.Sheets(Sheets.Count)
'Eliminar las hojas que se crean automáticas
destino.Activate
'Evitar mensajes de Alerta y proceder a borrar las hojas
Application.DisplayAlerts = False
Sheets(Array("Hoja1", "Hoja2", "Hoja3")).Select
Sheets("Hoja3").Activate
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
'Generar una variable con datos de fecha y hora para el nombre del archivo
fechanombre = Format(Now, "dd.mm.yyyy_hh.mm")
'Variable con el nombre que llevará el archivo
nombrearchivo = "Reporte_" & fechanombre & ".xlsx"
'Guardar el nuevo archivo con formato Excel 2007+ y con el nombre definido en la variable nombrearchivo
ActiveWorkbook.SaveAs Filename:=nombrearchivo, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
'Volvemos al libro de origen
origen.Activate
'Descongelamos
Application.ScreenUpdating = True
End Sub
05/04/2017 a las 12:02 pm
yo también genero un reporte diario con este mismo formato... en mi caso luego de copiar las hojas, las pego como valores.... así cuando el usuario abre el reporte no pide actualizar los vinculos
03/08/2017 a las 5:44 pm
Hola. Quisiera saber cómo hacer lo siguiente, creo que es posible resolverlo con una programación parecida a la que posteaste pero no conozco tanto de VBA como para modificarla.
Tengo un libro abierto (origen) y quiero que los datos en ella se copien a la primer hoja de un libro plantilla (con hojas diferentes a las del libro origen) y se guarde con un nombre de archivo igual al dato en la celda C3 del libro origen).
Espero se entienda y puedas ayudarme, muchas gracias!
22/06/2017 a las 2:19 pm
Buenas tardes me podrian ayudar por favor
tengo una lista de personas pero quiero realizar archivos de excell independientes de cada uno de los de la lista con informacion individual habra alguna macro que me ayude hacerlo??
25/06/2017 a las 12:07 pm
Buenos días,
Necesito ayuda para crear un macro que cree un nuevo libro de excel en el cual contenga una formato de presupuesto que usamos en la empresa. El problema es que el formato tiene celdas fusionadas y cuando pega el rango seleccionado se descompagina todo.
Si pudiesen contactarse conmigo les paso el archivo que estoy armando asi lo vean.
Desde ya muchas gracias!
26/06/2017 a las 6:58 am
Buenos días, tengo varios libros de excel con una sola hoja cada uno, solo quiero reagruparlas en un solo libro
gracias
23/07/2017 a las 1:35 pm
De un Libro matriz necesito copiar un rango, y enviarlo a otro libro. este rango varía en cada archivo matriz. por ejemplo si ahora el rango es A1:A20 en otro archivo podría ser A1:A100, en Otra Hoja tengo los rangos a copiar. estos cambian con cada archivo matriz. atento a su Ayuda.
11/09/2017 a las 4:18 pm
Buenas tardes
tengo una hoja de exel origen con columnas definidas que deseo copiar en otra con esas mismas columnas pero en otro orden.
Pueden ayudarme a crear esta macro.
18/06/2019 a las 12:54 pm
Buenas tardes, ojala que alguien me puedas ayudar; como puedo hacer para que solo se peguen valores y no formulas de esta macro. Saludos!!!
Private Sub CommandButton11_Click()
Sheets("R").Range("C2:T652").Copy
Workbooks.Add
ActiveSheet.Paste Destination:=Range("A2")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs
Filename = "C:\Users\Agustin\Desktop\Trafic+\Reporte.xlsx"
Application.DisplayAlerts = True
End Sub
05/01/2020 a las 12:17 pm
Hola.
como se hace para pegar en destino el valor sin la formula?
25/04/2021 a las 11:50 pm
Equivalente a pegado especial sólo valores con macro
25/04/2021 a las 11:51 pm
Equivalente a pegado especial sólo valores con macro
20/05/2021 a las 7:41 pm
Muchas gracias, me fue muy util.
25/05/2023 a las 12:07 pm
Buenas tardes
Ocupo crear una macro para generar un archivo nuevo de Excel desde otro archivo con datos, seleccionar los datos disponibles en las pestañas y generar 1 archivo por cada pestaña
Me podrían ayudar gracias