Seems to work for me

What specifically causes it to fail?

Is there an Application.EnableEvents = False somewhere in the macros?

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$99" Then
        Rows("102:119").Hidden = False
        
        If Target.Value > 0 And Target.Value < 19 Then
            Rows(Target.Value + 101 & ":119").Hidden = True
        End If
    End If
End Sub