2

У меня есть электронная таблица Excel, которая служит средством дампа / передачи данных из собственного приложения.
Электронная таблица также действует как средство ввода необработанных данных, поскольку измененная электронная таблица может быть импортирована обратно в приложение. Как таковая таблица иногда предоставляется внешним пользователям.

У нас есть пара столбцов (скажем, 3 и 7), где к ячейкам применяется проверка данных. Дело в том, что списки проверки не обязательно одинаковы для каждой ячейки в столбце. Например, ячейка (R1, C3) может иметь допустимые значения A, B, C; для клетки (R2, C3) это могут быть D, E, F; и так далее.

Проблема возникает, если пользователь копирует ячейку (R1, C3) в (R2, C3) - либо с помощью обычного копирования / вставки, либо с помощью Fill Down. Похоже, что проверка копируется вместе со значениями ячеек и любым форматированием. Но теперь ячейка (R2, C3) содержит недопустимое значение - но поскольку правило проверки было скопировано / изменено вместе со значением, "ошибка" не обнаруживается. (Я предполагаю, что это поведение является преднамеренным.)

Есть ли способ "заблокировать" проверку в ячейке, чтобы она не перезаписывалась в копии?

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

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

0