looking further at your "Run" module one thing to be careful of is that you are modfying cells on the worksheet that you have got the worksheet calculate event trigger, this can cause problems and certainly will slow excel down even if it doesn't go into a loop.
Can I suggtest that you turn events off before you copy the cells across and turn them on again afterwards, which you can do by modify the subroutine as below
Private Sub Worksheet_Calculate()Static oldval As Variant
If VarType(Range("$J$2").Value) <> vbError Then
If Range("$J$2").Value <> oldval Then
oldval = Range("$J$2").Value
Application.EnableEvents = False
Call Run
Application.EnableEvents = True
End If
End If
End Sub