В настоящее время у меня есть лист, который мне нужен для защиты ячеек, но я могу позволить пользователю использовать выпадающие списки в нескольких различных диапазонах.Диапазоны имеют переменный номер столбца, так как можно добавить больше столбцов.
Когда я вручную защищаю лист и выбираю соответствующие параметры, все ячейки блокируются, но пользователь все равно может выбрать из выпадающих списков необходимые ячейки.Однако, когда я блокирую лист с помощью VBA (что необходимо для работы некоторых моих макросов), эта функция исчезает.
Все, что я делаю в VBA, это
'variable declarations
ws1.Unprotect Password:="pw"
ws1.Cells.Locked = False
'lots of code here
ws1.Cells.Locked = True
ws1.Protect Password:="pw", UserInterfaceOnly:=True, _
AllowDeletingColumns:=True, AllowFiltering:=True, AllowFormattingCells:=True,_
AllowFormattingColumns:=True, AllowUsingPivotTables:=True
IВы читали, что AllowFiltering:=True
- это то, что должно разрешать выпадающий выбор в заблокированных ячейках, но здесь это не работает.Кто-нибудь знает, в чем разница между блокировкой вручную и блокировкой через vba?