Try using
`Worksheet.Protect "Password", UserInterfaceOnly := True
If the `UserInterfaceOnly` parameter is set to true, VBA code can modify protected cells.
Note however that this parameter [does not stick](https://stackoverflow.com/a/14162717/11683). It needs to be reapplied each time the file is opened.