Я пытаюсь перебрать диапазон ячеек, блокируя любую ячейку с содержимым, оставляя пустые ячейки разблокированными.
Когда я запускаю приведенный ниже код, в результате оказывается заблокирован весь лист. Если я добавлю оператор else, лист будет разблокирован. По сути, каков бы ни был последний оператор .locked = (true, false), весь лист завершается.
Изменить 1 Возможно ли, что у меня есть какие-то настройки включения / выключения, которые мешают, поскольку я единственный, кто не может заставить что-либо из этого работать?
Sub ProtectTheSheet()
Dim chCell As Range
Dim chRng As Range
'Clear the default status
ActiveSheet.Unprotect
Range("A7:I35").Locked = False
Set chRng = ActiveSheet.Range("A7:I35")
'Check cell value in body and lock cells with content
For Each chCell In chRng.Cells
If chCell.Value <> "" Then Cells.Locked = True
Next chCell
ActiveSheet.Protect
End Sub