My code put a formula in column J automatically when I is input/changed.

This should cater for J as well

[vba]

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE_I As String = "I:I"
Const WS_RANGE_J As String = "J:J"

On Error GoTo ws_exit

Application.EnableEvents = False

If Not Intersect(Target, Me.Range(WS_RANGE_I)) Is Nothing Then

With Target

If Target.Value <> "" And Target.Offset(0, 1).Value2 = "" Then

Target.Offset(0, 1).FormulaR1C1 = "=RC[-1]"
End If
End With

ElseIf Not Intersect(Target, Me.Range(WS_RANGE_J)) Is Nothing Then

With Target

If Target.Value = "" And Target.Offset(0, -1).Value2 <> "" Then

Target.FormulaR1C1 = "=RC[-1]"

End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub
[/vba]