Try This
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo exit_here
If Intersect(Target, Range("L7:N13")) Then
If IsNumeric(Target.Formula) Then
Select Case Target.Column
Case Is = 12
Cells(Target.Row, 13).Formula = "=IF(" & Target.Address & "<>" & Chr(34) & Chr(34) & "," & Target.Address & "*$L$2," & Chr(34) & Chr(34) & ")"
Cells(Target.Row, 14).Formula = "=IF(" & Target.Offset(0, 1).Address & "<>" & Chr(34) & Chr(34) & "," & Target.Offset(0, 1).Address & "/$M$4,0)"
Case Is = 13
Cells(Target.Row, 12).Formula = "=IF(" & Target.Address & "<>" & Chr(34) & Chr(34) & "," & Target.Address & "/$L$2," & Chr(34) & Chr(34) & ")"
Cells(Target.Row, 14).Formula = "=IF(" & Target.Address & "<>" & Chr(34) & Chr(34) & "," & Target.Address & "/$M$4,0)"
Case Is = 14
Cells(Target.Row, 12).Formula = "=IF(" & Target.Offset(0, -1).Address & "<>" & Chr(34) & Chr(34) & "," & Target.Offset(0, -1).Address & "/$L$2," & Chr(34) & Chr(34) & ")"
Cells(Target.Row, 13).Formula = "=IF(" & Target.Address & "<>" & Chr(34) & Chr(34) & "," & Target.Address & "*$M$4," & Chr(34) & Chr(34) & ")"
End Select
End If
End If
exit_here:
End Sub
edit: slight simplification of code
Bookmarks