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

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

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

Проблема

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

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

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

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

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

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

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

  • Ошибка 424 «Требуемый объект» при попытке вычислить количество используемых строк
  • ярлыки для combobox не отображаются для одной команды, но для других команд
  • Код для автоматического обновления Userform
  • деактивировать пользовательскую форму Excel VBA
  • Добавление серийной коллекции в диаграмму с помощью UserForm (combobox)
  • как vlookup элемент в столбце D и получить значение столбца a в пользовательской форме vba?
  • Откройте документ PDF из выбранного значения в combobox - Userform
  • Назначение обработчиков событий для элементов управления в пользовательской форме, созданных динамически в VBA, в подпункте
  • Использование операторов IF & AND с флажками в пользовательской форме
  • Excel VBA Userform Listbox Динамическое контекстное меню с использованием метода .OnAction
  • Кнопка VBA Options, как подключиться к модулю?
  • Interesting Posts

    Скопируйте каждую строку, существующую в другом списке

    Найти средний интервал между датами в сводной таблице

    как я могу запрограммировать этот ui box

    Несоответствие типа аргумента Excel VBA ByRef

    Создание и редактирование документов Excel (.csv) с помощью Java

    загрузка файла excel в базу данных, но некоторые столбцы, идущие в нуль

    Как проверить, больше ли значение ячейки, чем X, получить разницу между этими двумя значениями и добавить в следующую ячейку в Excel?

    VBA: Почему Autofilter не работает, когда работает ручной фильтр? (Ошибка времени выполнения «1004»: не удалось выполнить метод «Автофильтр» объекта «Диапазон»)

    Выбрать все цветные ячейки из условного форматирования

    извлечение данных из нескольких xml-файлов с помощью python

    Экспортировать каждую строку из Excel в собственный документ Word

    Откройте Excel и запустите файл с паролем через

    Применение класса к нескольким объектам диаграммы – VBA

    Excel Macro. Удаление не дублированных строк на основе столбца

    Чтение / запись очень больших файлов pptx с POI

    Давайте будем гением компьютера.