Защита всех листов книги, но редактирование определённых столбцов или строк - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день. Защищаю всю книгу с вводом пароля.
Листинг программы
  1. Private Sub Workbook_Open()
  2. Dim wsSh As Object
  3. For Each wsSh In Me.Sheets
  4. Protect_for_User_Non_for_VBA wsSh
  5. Next wsSh
  6. End Sub
  7. Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
  8. wsSh.protect Password:="1111", UserInterfaceOnly:=True
  9. End Sub
Но есть одна ячейка на 12 листе с именем FG, в которую нужно вносить изменения, для того, чтобы считали формулы в соседних ячейках. Не могу понять, как защищая всю книгу, оставить 1 столбец для редактирования.
Листинг программы
  1. Dim wsSh As Object
  2. For Each wsSh In Me.Sheets
  3. If wsSh.Name <> "Катуш" Then
  4. Protect_for_User_Non_for_VBA wsSh
  5. End If
  6. Next wsSh
Можно скажем используя имя листа исключит его из защиты, затем поставить её вручную исключая нужный столбец, но хотелось бы сделать через скрипт. Люди добрые подскажите как?

Решение задачи: «Защита всех листов книги, но редактирование определённых столбцов или строк»

textual
Листинг программы
  1. Sheets("Катуш").Columns("F:F").Locked = False
  2. 'или
  3. Sheets("Катуш").Range("ИмяДиапазона").Locked = False

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы