Ao usar manipuladores de eventos e fazer alterações que poderiam acionar o manipulador de eventos novamente, é recomendável desabilitar o monitoramento de eventos declarando:
Application.EnableEvents = False
Lembre-se de reativar os eventos antes que o procedimento seja encerrado. Caso contrário, eles permanecerão desativados até você reiniciar o Excel.
Seu código com eventos desativados e reativados:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim i As Integer
Set KeyCells = Range("H4:H100")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
i = Range(Target.Address).Row
Application.EnableEvents = False
If Cells(i, "L") = "" Then
Cells(i, "H") = "In Progress"
End If
Application.EnableEvents = True
End If
End Sub