Прекращение перезаписи проверенных данных (Microsoft Excel)
Мелисса регулярно использует проверку данных, чтобы ограничить то, что может быть помещено в ячейку. Она отмечает, что один недостаток, по-видимому, заключается в том, что всегда можно перезаписать данные, скопировав ячейку из другого места в файле и вставив ее в ячейку, которая должна быть ограничена проверкой данных.
Мелисса задается вопросом, есть ли способ «заблокировать» ячейки, в которых есть проверка данных, чтобы никто не мог их вставить.
Мелисса обнаружила то, что некоторые называют «ахиллесовой пятой» проверки данных — вы можете вставить содержимое ячейки и тем самым уничтожить все правила проверки данных, которые были в целевых ячейках. Единственный возможный способ обойти это — использовать макрос для предотвращения вставки в определенные области рабочего листа. Хороший способ сделать это можно найти на сайте Джона Уокенбаха:
http://spreadsheetpage.com/index.php/tip/ensuring_that_data_validation_is_not_deleted/
Для макросов, указанных на этой странице, есть некоторые ограничения, но есть некоторые недостатки, которые не отмечены:
-
Если человек не включает макросы при открытии книги, код макроса не может выполнять свою работу. (Это, честно говоря, недостаток любых макросов для любых целей.)
-
Рабочий лист может показаться немного вялым, если диапазон защищаемых ячеек велик, поскольку макрос запускается каждый раз, когда в рабочий лист вносятся изменения.
-
Поскольку макрос запускается каждый раз при изменении рабочего листа, он эффективно устраняет любую возможность наличия на рабочем листе функции «отменить». (Макросы при запуске нельзя отменить и очистить стек отмены.)
Даже с учетом недостатков и ограничений этот подход, вероятно, лучший способ преодолеть потенциальную проблему.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11799) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Stopping_Validated_Data_from_being_Overwritten [Остановка перезаписи проверенных данных]
.