Copiar datos de una hoja a otra Excel
Comunidad de TE, quisiera que me ayuden con este código que me facilito "Dante":
Sub CopiaFlag()
Application.ScreenUpdating = False
Set h1 = Sheets("Autor_MASTER")
Set h2 = Sheets("Reportes")
h2.UsedRange.Offset(4, 0).ClearContents
j = 4
n = 0
For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
'*********AQUI ES DONDE EN VEZ DE DATE PONGO 1 QUE SERIA EL ACTIVO DE UN REGISTRO
If h1.Cells(i, "AI") = Date Then
h1.Range("D" & i & ",H" & i & ",K" & i & ",L" & i & "," & _
"M" & i & ",N" & i & ":O" & i & ",P" & i).Copy
h2.Cells(j, "C").PasteSpecial xlValues
j = j + 1
n = n + 1
End If
Next
'Application.ScreenUpdating = True
Application.CutCopyMode = False
Call AutoAjustarColumns
MsgBox n & " Registro(s) copiado(s)", vbInformation, "Mensaje"
h1.Select
End SubBueno el caso es que este codigo permite copiar ciertas columnas de una hoja a otra, con la condicion que tenga una columna en especifico, es decir si la columna "AI"= Date entonces copia las filas detalladas a la hoja 2, me funciona a la perfeccion, el caso es que quiero usar el mismo metodo con otra condicion (por ejemplo "1") pero demora una eternidad en copiar, cosa que no sucede con la condicion Date que copia los datos rapidamente, la consulta es como puedo hacer para que los datos me copien de forma agil para no esperar demasiado tiempo (estamos tratando de unos 4000 registros a mas).
1 respuesta
Respuesta de Dante Amor
3