1.
If I have a value in cell A53, that should be the iMax but if choose a value in F53 it is not working
Actually, I think it is working, Your data validations do not extend into row 53.
If I put a value into A53 and manually type the responses, it seems to work
Look at the attachment
2. Two suggestions to code below
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range, rChanged As Range
Dim iMax As Long
iMax = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set rChanged = Intersect(Target, Cells(3, 6).Resize(iMax - 2, 11))
If rChanged Is Nothing Then Exit Sub
Application.EnableEvents = False ' <<<<<<<<<<Moved after Exit Sub above
Application.ScreenUpdating = False
For Each rCell In rChanged.Cells
Select Case rCell.Column
Case 6 To 11
Call InherentRisk(rCell)
Case 12 To 16
Call ResidualRisk(rCell)
End Select
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
.Cells(11).Interior.ColorIndex = xlColorIndexNone ' <<<<<<<<<<<<< Not Null