Почему вставка в незащищенную ячейку в Excel защищает ее?

при исследовании ответа этот вопрос, я наткнулся на довольно странное поведение в Excel, связанное с незащищенными ячейками в защищенных листах.

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

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

Почему это? Это желаемое поведение или ошибка в Excel 2010 (версия я использовал, чтобы попробовать это)?

29
задан Community
27.04.2023 22:20 Количество просмотров материала 3694
Распечатать страницу

5 ответов

Это на самом деле ожидаемое поведение (хорошо ожидаемое Microsoft, не обязательно пользователями), что является хорошей новостью. И есть довольно простая работа, вокруг которой есть еще лучшие новости.

когда вы вставить в кусок форматированного текста ячейки дают "нормальный" стиль и необходимое форматирование поверх. Стиль" Normal " по умолчанию имеет защиту locked. Так вот почему он применяется.

решением является изменение "нормального" стиль. Для репликации решенной версии этой проблемы создайте новую книгу, а затем:

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

2) Выберите все ячейки, щелкните правой кнопкой мыши и выберите Формат ячеек и в разделе Проверка защиты Заблокированный.

3) Выберите только A1, щелкните правой кнопкой мыши, выберите Формат ячеек и под защитой снимите флажок заблокировано.

4) защитить лист

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

теперь, когда я вставляю текст из word или в другом месте, ячейка не становится защищенной.

13
отвечен Alex Andronov 2023-04-29 06:08

Я не знаю, почему это происходит, но насколько я обеспокоен, что это большой ошибка. : - (

похоже, что каждый раз, когда Excel пытается вставить форматирование текста вместе с текстом, он блокирует ячейку. Если вы выбираете Match Destination Formatting в качестве опции вставки; вставить из простого текстового редактора, как блокнот; или вставить из другой книги в том же экземпляре Excel, то ячейка по-прежнему разблокирована впоследствии. Если вы делаете регулярную вставку из любого другого приложения, которое имеет форматирование текста, даже другой экземпляр Excel, а затем Excel блокирует разблокированную ячейку.

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

0
отвечен mischab1 2023-04-29 08:25

вы выбираете незащищенную ячейку на защищенном листе (AtiveCell), в которую вставляете данные из веб-браузера. После вставки он становится защищенным. Это не желательно: -)

Я сделал это, и это работает!

в листе-коде, в моем случае "Sheet1":

Sub Worksheet_Change(ByVal Target as Range)

  ...some irellevant code...

  ActiveSheet.Unprotect   
  ActiveCell.Locked=False

  ...code that protects Sheet1

Exit Sub
0
отвечен sistaskriket 2023-04-29 10:42

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

0
отвечен Martin 2023-04-29 12:59

предыдущий ответ больше не применяется к последней версии Excel 365. Текущая версия Excel 365 теперь создает новый стиль с именем "Normal 2" или любой другой необходимый порядковый номер. Он применяет новый стиль, который заблокирован вместо измененного обычного стиля.

вот решение для Excel 365. Выберите диапазон ячеек, которые другие пользователи смогут редактировать. Затем перейдите на вкладку "Обзор". В "изменения" выбрать "разрешить изменение диапазонов". Нажмите кнопку "Создать". Выбранный диапазон будет автоматически заполнен автоматически сгенерированным заголовком. Делать какие-либо ручные изменения, которые вы хотите. Если вы хотите, чтобы люди могли вносить изменения только с помощью пароля, вы можете ввести его здесь. Я предпочитаю, чтобы люди не использовали пароль, поэтому я нажимаю кнопку "разрешения", а затем "добавить". Я хочу, чтобы любой мог редактировать без пароля, поэтому я ввожу "всех" в качестве пользователя, которому разрешено вносить изменения. Если вы понимаете права доступа, вы можете выбрать одного пользователя или набор пользователей, которые смогут вносить правки без пароля. Затем просто нажмите "OK", пока все окна не будут закрыты. Защитите свой лист, и Вы хороши.

0
отвечен Kuan 2023-04-29 15:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх