Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Crear Libro y copiarle un contenido con Macros

| 3 Comments

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:

ejemplo 1

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:

ejemplo 2

Este código da como resultado un libro como el siguiente:

ejemplo 3

 

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

3 Comments

  1. 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

  2. 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

    • 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

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5