Macro para copiar de un documento sin dejar fila en blanco.
El código que estoy usando para trasladar datos de un documento a otro, funciona muy bien la primera vez, pero me deja una (o varias) celdas en blanco en el documento destino a partir de la segunda vez que ejecuto la macro.
Adjunto un screenshot, tambien me gustaria que limpiara la hoja origen, dejandola solo con los encabezados (fila 1) y borrando todo (formato, formulas y contenido).
Gracias por su tiempo :)
Estas son las celdas vacias que me deja, las columnas A y B siempre van a tener informacion.

Sub CopiarCeldas()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set l1 = ThisWorkbook
ruta = l1.Path & "\"
'
On Error Resume Next
Set l2 = Workbooks.Open(ruta & "OhnDoc.xlsm")
On Error GoTo 0
'
hojas = Array("OhnCF", "OhnSw", "OhnOp")
For i = LBound(hojas) To UBound(hojas)
existe = False
hoja = hojas(i)
For Each h In l2.Worksheets
If h.Name = hoja Then
existe = True
Exit For
End If
Next
If existe Then
Set h2 = l2.Worksheets(hoja)
u = h2.UsedRange.Rows(h2.UsedRange.Rows.Count).Row + 1
l1.Sheets(hoja).UsedRange.Copy h2.Cells(u, "A")
Else
l1.Sheets(hoja).Copy Before:=l2.Sheets(1)
End If
l1.Sheets(hoja).Cells.ClearContents
Next
'
l2.Close True
Application.ScreenUpdating = True
MsgBox "Files have been transfered", vbInformation
End Sub
1 respuesta
Respuesta de Dante Amor
1