¿Cómo puedo hacer para generar el copiado de una hoja a otra pero utilizando UsedRange?

Tengo el siguiente código y sucede que este lo manejo con CurrentRegion, solo que este me limita ya que en su búsqueda cuando encuentra columnas vacías solo hace el copiado de esas y las siguientes no las pasa, agradezco su apoyo si me podrían orientar para usar el Used range ya que investigo se que el permite pasar todo aun cuando haya columnas vacías.

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

a

H ol a : solamente para completar la respuesta.

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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas