If you use a macro to protect the sheet, you can add the "userinterfaceonly:=True" capability. Then your macros can change protected cells, but the users can't.

this code protects all worksheets so that your macros can change protected cells, but the users can't.
Private Sub Workbook_Open()
    Dim sh As Worksheet
    
    For Each sh In ThisWorkbook.Worksheets
         sh.Protect userinterfaceonly:=True
    Next sh
End Sub