Как заблокировать определенные ячейки в VBA, но оставить их редактируемыми по коду - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть несколько ячеек, заполненных формулой, созданной в VBA-скрипте.Я хочу сделать их недоступными для редактирования (заблокированными) при вводе пользователем, но позволить сценарию заполнить их формулами.

Я попытался защитить лист с помощью пароля, а затем:

Range.locked = True

Ноэто не позволило коду редактировать ячейки ..

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Protect лист с параметром UserInterfaceOnly:

MyWorksheet.Protect "Password", UserInterfaceOnly := True

, где MyWorksheet - действительная ссылка на объект вашего листа

0 голосов
/ 25 сентября 2019

Попробуйте

ActiveSheet.Unprotect
myRow.Offset(0, 1).FormulaArray = variableThatContainsFormulaString 
ActiveSheet.Protect

Вероятнее всего, лучше заменить активный лист реальным листом, но вы поняли.

Похоже, у этого есть доступные решения ... Защитаячейки в Excel, но позволяют изменять их с помощью сценария VBA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...