Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.08.2025
Сообщений: 12

Редактирование защищенных ячеек

19.01.2026, 16:55. Показов 592. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите пожалуйста, весь лист защитил от редактирования и выделений, через vbа в worksheet open добавил код ниже, чтоб разблокировать нужные мне ячейки для редактирования , к сожалению не сработало, подскажите пожалуйста почему и что не так?

Visual Basic
1
2
3
4
5
Dim ws as Worksheet
For each ws In ActiveWorkbook.Worksheets
  ws.Columns("A:H").Locked = False
  ws.Protect Contents:=True, Password:="пароль листа"
Next ws
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2026, 16:55
Ответы с готовыми решениями:

Работа макроса в защищенных документах, не зная пароль (Word, Exsel)
Добрый день! Не смог обойтись без вашей помощи. Написал макрос по замене текста в шаблонных...

Запрет на ручное редактирование и разрешение на программное редактирование
Добрый день, коллеги. Вопрос следующий. Возможно ли инструментами VBA установить запрет на ручное...

Редактирование ячеек в MSFlexGrid
Не могу найти свойство, которое разрешает редактирование содержимого ячеек :(

9
2049 / 479 / 133
Регистрация: 13.11.2008
Сообщений: 918
19.01.2026, 18:12
Видимо, сначала надо снять защиту, затем уже изменять её параметры и заново ставить. И на всякий случай разрешить выделение не заблокированных ячеек:
Visual Basic
1
2
3
4
5
6
7
Dim ws as Worksheet
For each ws In ActiveWorkbook.Worksheets
  ws.Unprotect
  ws.Columns("A:H").Locked = False
  ws.EnableSelection = xlUnlockedCells 'разрешить выделение не заблокированных ячеек
  ws.Protect Contents:=True, Password:="пароль листа"
Next ws
0
0 / 0 / 0
Регистрация: 27.08.2025
Сообщений: 12
20.01.2026, 07:50  [ТС]
Не, при входе в рабочую книгу, сразу появляется окно для ввода пароля, когда вводишь он снимает защиту всего листа
0
2049 / 479 / 133
Регистрация: 13.11.2008
Сообщений: 918
20.01.2026, 12:49
Цитата Сообщение от di. Посмотреть сообщение
сразу появляется окно для ввода пароля
так это логично. Вы же в коде при установке пароль указываете, а при снятии - нет. Ну, точнее я не указал. Но это поправимо:
Visual Basic
1
ws.Unprotect Password:="пароль листа"
это если речь про защиту листов, конечно.
0
0 / 0 / 0
Регистрация: 27.08.2025
Сообщений: 12
21.01.2026, 13:11  [ТС]
Не, он снимает защиту всего листа и все, ошибка по application or object-defined error
Именно

Visual Basic
1
2
ActiveSheet.Protect Password:="пароль", UserInterfaceOnly:=True
    Sheets("лист").Range("C13:D15").Locked = False
Такой код помог, единственное но, если вставлять удалять строки не C13:C15, слетает и строки блокируются, как можно пофиксить?
0
2049 / 479 / 133
Регистрация: 13.11.2008
Сообщений: 918
21.01.2026, 13:54
Цитата Сообщение от di. Посмотреть сообщение
Не, он снимает защиту всего листа
А должен снимать только с части, что ли? Такое возможно? Я не в курсе этих возможностей
Да и вообще я Вас перестал понимать. То снимает, то не снимает, то ошибку показывает.
Visual Basic
1
2
3
4
5
6
7
Dim ws as Worksheet
For each ws In ActiveWorkbook.Worksheets
  ws.Unprotect Password:="пароль листа"
  ws.Columns("A:H").Locked = False
  ws.EnableSelection = xlUnlockedCells 'разрешить выделение не заблокированных ячеек
  ws.Protect Contents:=True, Password:="пароль листа"
Next ws
у меня этот код все прекрасно снимает и устанавливает. И никаких ошибок.

Последний код и вовсе относится только к активному листу и мало похож на предыдущий. А UserInterfaceOnly работает ровно до закрытия книги. Т.е. при последующем открытии - надо будет так же сначала снять защиту с листа, а потом уже установить с новыми параметрами. Этот параметр нужен в случаях, когда в процессе работы с книгой применяются другие макросы. Тогда этот параметр позволяет им в текущем сеансе изменять значения ячеек(и прочие свойства) без снятия защиты с листа.
Цитата Сообщение от di. Посмотреть сообщение
если вставлять удалять строки не C13:C15, слетает и строки блокируются
ничего не понятно. Что слетает? Защита? Это логично, ведь те ячейки, которые разрешены к редактированию Вы удалили и на их место были поставлены другие - которые защищены(Locked = True). Ведь защищены только "C13:D15", а Вы их удаляете.
0
0 / 0 / 0
Регистрация: 27.08.2025
Сообщений: 12
21.01.2026, 14:10  [ТС]
Я удалял ячейки ниже диапазона который разрешил, но защита и с C1315 тоже слетела
0
2049 / 479 / 133
Регистрация: 13.11.2008
Сообщений: 918
21.01.2026, 14:12
Цитата Сообщение от di. Посмотреть сообщение
Я удалял ячейки ниже диапазона
странная защита. Как это Вы так удаляете заблокированные ячейки при активной защите листа? Макросом? Тогда я отстраняюсь от обсуждения, ибо в макросе может быть куча всего, чего Вы здесь не договариваете. И сидеть гадать что там у Вас еще где вдруг прописано желания мало.
0
0 / 0 / 0
Регистрация: 27.08.2025
Сообщений: 12
21.01.2026, 17:16  [ТС]
С помощью vba удаляю вставляю.
через copy с одного листа и paste на защищенный, заблочил весь лист в том числе и выделения ячеек, хочу определнным кодом через команду открывать закрывать определенный диапазон ячеек для редактирования на защищенном листе, у меня это получилось, но как только использую копирование и вставку строк без смещения разрешенного диапазона редактирования, слетает диапазон
0
2049 / 479 / 133
Регистрация: 13.11.2008
Сообщений: 918
21.01.2026, 18:23
Цитата Сообщение от di. Посмотреть сообщение
как только использую копирование и вставку строк

Почему с каждым новым сообщением появляются новые вводные и ни одного прояснения по предыдущим?
Вы на что рассчитываете, при таком подходе?
Что откуда копируете? Ячейки, которые копируете - защищены? Или разрешены к редактированию? Когда копируете ячейки целиком, то переносятся не только значения и формулы, но и все их свойства, включая все галочки в окне Защита(т.е. свойство Locked - тоже).
И почему, раз заметили такое, не добавили в код после копирования нужное значение для Locked? Вы же можете изменить для нужных ячеек свойство Locked после своего копирования? Или не можете? Если нет - что мешает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2026, 18:23
Помогаю со студенческими работами здесь

Редактирование ячеек в Excel через UserForm
Всем доброго времени суток. Помогите в решении такой проблемы. Планирую сделать отчет в Excel,...

Редактирование ячеек по условию
Допустим, у меня есть таблица данных и образец выборки: А1 - оставляем как есть, А2 - ставим...

Редактирование ячеек в конце документа ексель
Добрый день! Скачала в инете такой код, но доработать его не хватает мозгов, на редактирование...

Подсчитать количество пустых, текстовых ячеек и числовых ячеек
люди нужна ваша помощь, ничего толком в этом не понимаю(: Ввести координаты ячейки и определить...

В выделенном диапазоне ячеек поменять цвет заливки всех ячеек с числами
лабараторная 6 Задание 1. Напишите код программы, которая бы закрывала без сохранения изменений...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru