Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B10:AH24]) Is Nothing Then _
ThisWorkbook.Names.Add [C3] & "_" & [C2], [B10:AH24].Formula
If Not Intersect(Target, [C2:C3]) Is Nothing Then _
[B10:AH24] = IIf(IsArray(Evaluate([C3] & "_" & [C2])), Evaluate([C3] & "_" & [C2]), "")
End Sub