«Заблокированная функция» больше не работает в vba - PullRequest
0 голосов
/ 01 апреля 2019

У меня был рабочий макрос, который правильно сделал только несколько ячеек для записи в данной книге.Тем не менее, после возврата к коду через 3 месяца весь рабочий лист блокируется, вместо рассматриваемых ячеек, см. Код.

Возможно ли обновление в Excel, которое препятствует правильной блокировке ячеек?

Спасибо

Worksheets("XYZ").unProtect
Worksheets("XYZ").Cells.Locked = True

   Worksheets("XYZ").Range(Worksheets("XYZ").Cells(9, 4), Worksheets("XYZ").Cells(14, 7)).Locked = False

   Worksheets("XYZ").Protect

1 Ответ

0 голосов
/ 01 апреля 2019

Ваш код работает для меня на тестовом листе.Но мне интересно, если лист не разблокировался (пароль?) - так как это произойдет молча, но тогда никакие изменения не вступят в силу.Эта версия предупреждает вас, если это произойдет

With Worksheets("xyz")
    .Unprotect  'must unprotect to make changes
     If .ProtectContents Then MsgBox "unprotect failed"
    .Cells.Locked = True  'lock everything
    .Range(.Cells(9, 4), .Cells(14, 7)).Locked = False  'unlock desired cells

    .Protect  'protect sheet, now the lock takes effect
End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...