Cambiar el valor del range en function de los criterios

Necesito mostrar un range si cell.value ( D2 ) es menor que el día de hoy y otro de cell.value ( D2 ) es mejor que el de hoy.

Copiar y pegar puede consumir demasiado de Excel y, de todos modos, no funciona, ¿hay alguna otra forma de hacerlo?

El valor de la celda siempre es J3:AB3 , no importa la date en D2

Esto es lo que tengo hasta ahora:

 Dim C As Range Set C = ThisWorkbook.Sheets("SIN").Range("D2") If CDate(C.Value) <= Date Then ThisWorkbook.Sheets("PARA").Range("J2:AB2").Copy Destination:=ThisWorkbook.Sheets("SIN").Range("D5:V5") Else ThisWorkbook.Sheets("PARA").Range("J3:AB3").Copy Destination:=ThisWorkbook.Sheets("SIN").Range("D5:V5") End If