Copiar datos de una hoja a otra con MACRO

Saludos, soy nuevo en el uso de macro, y quisiera saber si es posible hacer de forma mas eficiente el siguiente código:

FechaConvertidaActual="07-12-2012"
For Asig = 7 To 1000
fecha= Sheets("Hoja1").Cells(a, 3)
If (fecha <= FechaConvertidaActual) Then
Sheets("Hoja2").Cells(Asig, 5) = Sheets("Hoja1").Cells(Asig, 3)
End If
Asig=Asig+1
next

En la forma que lo hago se demora demasiado en procesar, ya que en la hoja1 existen varios datos. Se que existe una forma de copiar datos y se demora poco usando Range, por ejemplo esta forma:
Sheets("Hoja1").Select
Range("H5:H550").Select
Selection.Copy
Sheets("Hoja2").Select
Range("J7:J550").Select
Selection.PasteSpecial

Y no se si hay alguna forma similar de hacerlo, incluyendo sentencias if y reservas de variables o alguna otra forma que sea eficiente para copiar la fecha de la columna 3 (C) que sean menores a FechaConvertidaActual.

Agradecería su ayuda, muchas gracias por su atención.

Añade tu respuesta

Haz clic para o