Requiero hacer el copiado de una hoja de excel que ya tiene datos a otra como un historial?

Sucede que tengo el siguiente código, y cabe mencionar que funciona sin embargo como tengo tengo espacios vacíos pero que los necesito así la instrucción de CurrentRegion, solo me permite generar el copiado de las columnas hasta donde tienen datos, si encuentra una vacía ya no continua, se que se podría hacer con un UsedRange pero no se como manejar con mi código dicha instruccion, agradezco mucho si me pudieran orientar .

Private Sub CommandButton11_Click()
Dim rngDestino As Range
With ThisWorkbook.Sheets("Inventario").[a4].CurrentRegion
Set rngDestino = Worksheets("Reportes") _
.Cells(Rows.Count, "a").End(xlUp).Offset(1)
rngDestino.Resize(.Rows.Count, .Columns.Count) = .Value
rngDestino.Parent.Parent.Close True
End With
End Sub

1 respuesta

Respuesta
1

Te anexo la macro actualizada.

La macro copia desde la celda A4 hasta la última fila y hasta la última columna. Si quieres que inicie el copiado desde otra celda, cambia A4 por la celda inicial deseada en esta línea de la macro: With h1. Range("A4", h1. Cells(uf, uc))

La macro completa:

Private Sub CommandButton11_Click()
'Act.Por.Dante Amor
    Set h1 = Sheets("Inventario")
    Set h2 = Sheets("Reportes")
    'Obtener la última fila y última columna
    uf = h1.UsedRange.Rows(h1.UsedRange.Rows.Count).Row
    uc = h1.UsedRange.Columns(h1.UsedRange.Columns.Count).Column
    With h1.Range("A4", h1.Cells(uf, uc))
        Set rngDestino = h2.Cells(Rows.Count, "A").End(xlUp).Offset(1)
        rngDestino.Resize(.Rows.Count, .Columns.Count) = .Value
        'rngDestino.Parent.Parent.Close True
    End With
End Sub

Comenté esta línea 'rngDestino.Parent.Parent.Close True, para que realices tus pruebas y no se cierre el libro. Cuando lo creas necesario quita el apostrofe del  lado izquierdo para activar nuevamente la línea.


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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas