Copiar de un reporte filtrado y pegar la informacion seleccionada a un libro nuevo

Tengo un reporte con autofiltro en las columnas y deseo que cuando filtro por Ej por la columna D donde tengo nombres la macro me copie las celdas visibles y me las pegue en un libro nuevo y la informacion copiada la seleccione y ajuste el texto. Si tambien el libro nuevo se puede guardar con el contenido de una celda determinada mucho mejor.

Por ejemplo filtro en la columna D por el nombre Pepe y que la macro me copie las celdas activas en un libro nuevo y lo seleccione y ajuste el texo y lo guade con el contenido de la celda D5.

1 respuesta

Respuesta
1

H o l a:

¿En cuál fila tienes tus encabezados?

¿De cuál columna a cuál columna quieres copiar?

Hola Los encabezados están el la fila 3

De la columna A hasta la AN.

Gracias

Te anexo la macro

Sub Macro1()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.ActiveSheet
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A3:F" & u).Copy
    Set l2 = Workbooks.Add
    ActiveSheet.Paste
    ruta = l1.Path & "\"
    arch = h1.Range("D5")
    If arch = "" Then arch = "archivo"
    If IsDate(arch) Then arch = Format(arch, "dd-mm-yyyy")
    l2.SaveAs Filename:=ruta & arch & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close
    MsgBox "Archivo guardado"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: pinta
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¿Hola Dante muchas gracias por la ayuda pero necesito saber donde se guarda el nuevo libro con la información filtrada?

La macro la guarde en personal.xlsb ya que necesito que esta macro este disponible en cualquier libro. Necesitaría que el archivo nuevo sea guradado en el escritorio.

Gracias

El nuevo libro se guarda en la misma carpeta donde tengas el archivo con la macro.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¿Hola Dante Gracias encontré el archivo pero esta vacío hay alguna manera de que se pueda gardar en el escritorio?

¿Cuándo abro el archivo esta en blanco no copio nada? Yo quiero que copie desde A3 hasta AN. ¿Creo qué si te pudiera enviar el archivo seria más fácil?

Sí, envíame tu archivo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “cristian firpo” y el título de esta pregunta.

Hola Dante

Te lo envíe.

Muchas gracias

Te anexo la macro actualizada

Sub Macro1()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.ActiveSheet
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A3:AN" & u).Copy
    Set l2 = Workbooks.Add
    Set h2 = ActiveSheet
    ActiveSheet.Paste
    ruta = l1.Path & "\"
    arch = h1.Range("G" & u)
    If arch = "" Then arch = "archivo"
    If IsDate(arch) Then arch = Format(arch, "dd-mm-yyyy")
    h2.Cells.Select
    With Selection
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        .Columns.AutoFit
    End With
    Range("A1").Select
    l2.SaveAs Filename:=ruta & arch & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close
    MsgBox "Archivo guardado con el nombre: " & arch
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Hola Dante muchas gracias! ¿Pero necesitaría que la macro la pueda ejecutar en cualquier archivo de excel? ¿Cómo hago copio y pego el botón?

Tienes que seguir las instrucciones con cada archivo de excel

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: pinta
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

En el punto 9 de las instrucciones dice "pinta" ahí debes seleccionar el nombre "Macro1"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas