Optimizar codigo

08/02/2006 - 17:17 por Rantamplan | Informe spam
Buenas grupo!
tengo un fragmento de codigo que copia el contenido de un rango de una
hoja en otro rango de otra hoja.
El codigo funciona sin problemas, pero tarda unos 3 minutos en ejecutarse
y el problema es que ese mismo fragmento de codigo lo tengo que repetir 3
veces mas! por lo que llega a estar en ejecución durante 15 minutos! no
se el codigo es el siguiente:

inicio copy&paste
Dim i As Long, j As Long
j = 61
'activamos la hoja
MEDIAS.Activate
'medias para HCL
For i = 3 To 482
MEDIAS.Cells(i, 3) = HCL.Cells(j, 3)
MEDIAS.Cells(i, 5) = HCL.Cells(j, 6)
MEDIAS.Cells(i, 7) = HCL.Cells(j, 9)
j = j + 60
Next i
fin copy&paste

me parece que un bucle del tipo For no es lo mas indicado para esta
operación, pero no se me ocurre otra forma de hacerlo, bueno si, copiando
los rangos directamente a saco, pero no se si seria muy buena idea
:-)

Salu2!.

Preguntas similare

Leer las respuestas

#6 Rantamplan
10/02/2006 - 14:17 | Informe spam
"KL" Escribió el día jue 09 feb
2006 11:44:45a:

Aunque por si acaso casi mejor asi:

' inicio copy&paste
Sub test()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
On Error Resume Next
With MEDIAS
HCL.Range("C:C").SpecialCells(xlCellTypeFormulas).Copy
.Range("C3").PasteSpecial xlPasteValues
HCL.Range("F:F").SpecialCells(xlCellTypeFormulas).Copy
.Range("E3").PasteSpecial xlPasteValues
HCL.Range("I:I").SpecialCells(xlCellTypeFormulas).Copy
.Range("G3").PasteSpecial xlPasteValues
End With
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationManual
End With
End Sub
' fin copy&paste

Saludos,
KL



Como siempre, muchisimas gracias, acabo de probar el codigo y funciona
perfecto ;-)

Salu2!.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida