Guardar rango de una hoja en un libro nuevo

Me puedes ayudar con lo siguiente.

Quiero copiar un rango de celdas que van desde la celda D4 y hasta la columna L y hasta la última fila que contenga datos, el número de fila es variable, por eso necesito la macro para que obtenga la última fila con datos, de determinada hoja y ponerlas en un libro nuevo. Guardar el libro nuevo con el nombre del libro actual y la fecha del día actual, por ejemplo: libro mayor 26jun2015

1 respuesta

Respuesta
1

Te anexo la macro.

Cambia en la macro "Hoja1" por el nombre de la hoja que contiene el rango de celdas a guardar.

Las celdas se copiarán en el nuevo libro a partir de la celda D4, avísame si requieres que se peguen en alguna otra celda o si quieres un pegado especial de solamente valores.

Si quieres otra celda, puedes cambiar D4 por otra celda, por ejemplo A1.

Sub GuardarRango()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")
    '
    ruta = l1.Path & "\"
    u = h1.Range("D" & Rows.Count).End(xlUp).Row
    p = InStrRev(l1.Name, ".")
    archivo = Left(l1.Name, p - 1) & " " & Format(Date, "ddmmmyyyy")
    h1.Range("D4:L" & u).Copy
    Set l2 = Workbooks.Add
    Range("D4").Select
    l2.ActiveSheet.Paste
    l2.SaveAs Filename:=ruta & archivo & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close
    MsgBox "Libro creado"
End Sub

Saludos.Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas