Copia de fila de Excel VBA en archivo - excel, vba, excel-vba

Estoy tratando de copiar un montón de filas en unaarchivo con VBA. (Novato de VBA aquí). Tengo dos hojas, 1 llamada Activa y el Archivo. En activo, tengo una columna llamada Número de trabajo, que es con lo que se basan los otros datos. Necesito copiar todas las filas donde los números de trabajo no están en blanco y copiar cada fila individualmente en mi hoja de archivo donde hay una fila vacía disponible. y luego borrar la celda del número de trabajo.

En la parte inferior está lo que tengo hasta ahora.Básicamente necesito tomar todas las filas que tienen una celda no vacía en la columna e. (Traté de contar las filas hasta los últimos registros no vacíos -> NumRows) también encontrar la ubicación de la última variable no vacía en Archivo (lr2) y luego Intenté un bucle for para copiar, pero no hace nada. Cualquier ayuda sería increíble.

Sub Archiver()
Dim lr As Long, lr2 As Long, r As Long, NumRows As Integer
lr2 = Sheets("Archive").Cells(Rows.Count, "E").End(xlUp).Row
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
For r = 5 To NumRows
Rows(r).Copy Destination:=Sheets("Archive").Range("A" & lr2 + 1)
lr2 = Sheets("Archive").Cells(Rows.Count, "E").End(xlUp).Row
Next r
End Sub

Respuestas

0 para la respuesta № 1

Prueba esto:

Sub Archiver()
Dim lr2 As Long
Dim y As Worksheet, z As Worksheet
Dim copyRng As Range


Set y = Sheets("Active")
Set z = Sheets("Archive")

lr2 = y.Cells(rows.Count, "E").End(xlUp).Row

"Here you select the range of your sheet you want to copy, for me is A:E
Set copyRng = y.Range("A2:E" & lr2)

z.Range("A2:E" & copyRng.rows.Count + 1).Insert Shift:=xlDown
copyRng.Copy z.Range("A2")

y.Range("A2:E" & lr2).ClearContents

End Sub

Menú