excel инициализирует «защищать / снимать защиту листа» с помощью пользовательской формы

Я сделал файл Excel, в котором операторы из производственной компании могут регистрировать сбои / сбои или что-либо, что останавливает производство. Способ, которым оператор регистрирует неисправность, – это щелкнуть по кнопке на одном листе, которая открывает пользовательскую форму, созданную с помощью VBA в Excel.

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

Проблема

Некоторые операторы не используют пользовательскую форму для регистрации неисправности, но вводятся непосредственно в лист данных, что противоречит регистрации неисправностей стандартизованным способом. Простое скрытие листа или установка пароля на него не является опцией, так как операторы также должны видеть все зарегистрированные сбои других.

Возможное решение

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

Заранее спасибо.

Метод Worksheet.Protect позволяет отключить пользователя от изменения данных на листе. установите UserInterFaceOnly в значение True:

Рабочий лист.Protect Password: = "randompass" UserInterfaceOnly: = True

Затем код может изменять данные, но пользователь не может

  • Скрыть закрытую кнопку в пользовательской форме excel vba для моей панели выполнения
  • Excel VBA Userform, обновить и удалить базу данных,
  • Определите, какая строка VBA выполняется в настоящий момент для панели выполнения
  • VBA не правильно вытягивает формат
  • Добавление изображения в рабочий лист из пользовательской формы (excel vba)
  • Выборочная форма пользовательской формы Excel после отправки вывода в Excel
  • Excel VBA - запись нескольких значений флажков пользовательской формы в одну ячейку
  • Измените форму пользователя с помощью защищенных паролем надстроек
  • Элемент UserSelection для MultiSelection
  • VBA - копировать текст из Combobox в User и вставлять в цикл на листе excel
  • Excel 2013 64 бит - Пользовательская форма VBA - добавьте 28 дней до даты текстового поля и отобразите в другом текстовом поле
  • Давайте будем гением компьютера.