So you want the macro to execute all of that when any cell in the sheet is changed? Most would just fire it for one cell or a range of cells. One uses Intersect() to limit execution in that case.

If that above is true, I suspect that you want to just reset sheets for that one cell changed. You can code it to each cell if in the Intersect() range.

To use the approach that I detailed, one would probably just want to execute a specific Case for one cell changed or Default (Case Else) to something else if that cell was in a range but not a specific Case. e.g.
Sub ken()
  Dim Target As Range
  Set Target = Range("A1")
  
  Select Case True
    Case ActiveCell.Address = Target.Address And Target.Value = ""
      MsgBox ActiveCell.Address & " is empty."
    Case Else
      MsgBox ActiveCell.Address & " is not empty or activecell is not A1."
  End Select
End Sub
Of course you can have as many "Case"s as you like.