5

Есть ли способ защитить лист так, чтобы определенные ячейки были доступны для записи (например, пользователь может поместить числа в эти ячейки), но форматирование и поле комментария не могут быть изменены? Я могу создать защищенный лист с разблокированными только определенными ячейками. Однако, если я скопирую / вставлю из ячейки на другом листе (который имеет другое форматирование и свой собственный блок комментариев) в эти ячейки, форматирование и комментарии будут перезаписаны.

В идеале решение могло бы работать в Excel 2010, но решения для более новых версий также были бы мне интересны.

2 ответа2

1

Во-первых, отформатируйте ячейку или диапазоны так, как вы хотите, а также любые комментарии, которые вам нравятся.

Во-вторых, щелкните правой кнопкой мыши ячейки, предназначенные для ввода пользователем == >> "Формат ячеек" == >> Вкладка "Защита" == >> Снимите флажок "Заблокировано"

В-третьих, «Просмотр вкладки == >> Защита листа», обеспечивающий отсутствие возможности изменять форматы ячеек, столбцов, строк, редактировать объекты и редактировать сценарии. И вы можете также снять флажок "Выбрать заблокированные ячейки", если вы хотите, чтобы пользователи могли вкладывать между ячейками, в которые они могут вводить данные, чтобы эти точки стали для них очевидными, когда они нажимают.

РЕДАКТИРОВАТЬ: Кто-то указал, что форматы все еще могут быть скопированы в несколько разблокированных ячеек.

Итак, вы делаете это: Делайте лист таким, каким хотите. Разблокируйте ячейки, в которые пользователь хочет поместить данные, и защитите рабочий лист. Скопируйте лист. На 2-й копии сделайте несколько ячеек, в которые пользовательский ввод будет обычно идти, ссылаются на соответствующие разблокированные ячейки с 1-го листа. Теперь заблокируйте каждую ячейку на втором листе.

Пользователь может форматировать разблокированную ячейку A1 на 1-м рабочем листе любым удобным способом, но соответствующая ячейка A1 на заблокированном 2-м листе будет содержать только значение "= Sheet1!A1 "выходы с 1-го листа, без форматов и комментариев.

Пользователь может использовать 1-й лист, копировать и вставлять с веб-страниц в стиле Nyancat, но ваш 2-й лист будет отображать эти значения в любом формате, который вы выбрали. Пользователь может по-прежнему вводить неверные данные или что-то вроде SQL-инъекции, но, по крайней мере, если пользователи достаточно доверяют, чтобы вводить только текст данных и числа значений, ваша проблема должна быть решена.

1

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

Более десяти лет я основываю свой ответ на том, что эта функция была востребована пользователями Excel, но решение так и не пришло.

В качестве доказательства я перечислю ниже некоторые из многочисленных предложений, найденных на сайте Microsoft Excel Voice пользователя, голоса, которые всегда игнорировались:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .