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