Excel: блокировка листа, но таблицы можно расширять

5

Моя цель - защитить лист, но дать пользователям возможность редактировать и добавлять строки в содержащиеся таблицы.

Когда я пытаюсь защитить лист без заблокированных ячеек, таблицы не могут добавлять строки, даже если их ячейки не заблокированы. Я пытался установить все флажки Разрешить всем пользователям этой таблицы , но это не помогло мне.

Кто-нибудь знает об обходной путь, или мне нужно будет создать кнопку Вставить строку с соответствующим VBA, чтобы сделать эту работу?

Кристиан Мэдсен
источник

Ответы:

-1

Вы можете использовать макрос для внесения изменений в заблокированные листы. Например:

Sub MyMacro()
Sheet1.Unprotect Password:="Secret"
  'YOUR CODE HERE
Sheet1.Protect Password:="Secret"
End Sub

Пожалуйста, прочитайте эту статью, чтобы узнать больше о запуске макросов на защищенных листах.

Если вам нужна помощь в написании макроса, вы можете обратиться за помощью на наш дочерний сайт StackOverflow .

Мехпер С. Палавузлар
источник
Это связано с тем, что если код нарушается или пользователь прерывает код, лист останется разблокированным. Если вы используете этот подход, то, вероятно, лучше использовать или, on errorчтобы заставить ваш код продолжать работать ( resume next) или в случае ошибки, прекратить выполнение кода и просто перейти к концу кода и выполнить повторную защиту.
Джарвин
-1

Когда я нажимаю «Защитить лист ...», я получаю несколько вариантов того, что я хочу разрешить пользователям, включая «Вставить строки».

Я неправильно понимаю ваш вопрос или вы этого не видите?

Sux2Lose
источник
Я вижу те же параметры, что и у вас, но проверка «Вставить строки» не помогает - таблица по-прежнему отказывается добавлять строки.
Кристиан Мэдсен
В этом случае «Вставка строк», по-видимому, относится к добавлению пустых строк в электронную таблицу (например, с помощью щелчка правой кнопкой мыши -> вставить), а не к записи чего-либо в уже существующей строке.
Ярлемаг