Чому вставлення в незахищену клітинку в Excel захищає її?


12

Досліджуючи відповідь на це питання , я натрапив на досить дивну поведінку в Excel, пов’язану з незахищеними клітинками в захищених робочих аркушах.

Щоб побачити, що я маю на увазі, створіть нову робочу книжку, зніміть захист її першої комірки (A1) та захистіть аркуш . Єдиною коміркою, в яку зараз можна ввести текст, має бути A1. Далі перейдіть до якоїсь іншої програми (наприклад, вашого браузера) і скопіюйте звідти якийсь текст. Виберіть першу клітинку, натиснувши її один раз (не клацніть двічі та не вставити у формульну панель) та вставте текст у неї.

Це не лише змінить форматування комірки, але й встановить її захищений прапор. Після цього немає жодного способу знову змінити вміст цієї комірки, не знімаючи захист робочого аркуша (або, звичайно, скасовуючи операцію вставки).

Чому так? Це бажана поведінка чи помилка в Excel 2010 (версія, яку я раніше намагався)?

Відповіді:


13

Насправді, це хороша новина - це очікувана поведінка (добре очікувана від Microsoft, не обов'язково з боку користувачів). І є досить проста робота, навколо якої ще кращі новини.

Коли ви вставляєте фрагмент відформатованого тексту, клітинка отримує стиль "Звичайний", а потім має потрібне форматування шаруватий зверху. Стиль "Звичайний" за замовчуванням захист встановлений як заблокований. Тож саме тому воно застосовується.

Рішення полягає в модифікації стилю «Звичайний». Для тиражування вирішеної версії цієї проблеми створіть нову робочу книжку, тоді:

1) На головній стрічці у розділі Стилі клацніть правою кнопкою миші на полі Нормальне та натисніть Змінити. Натисніть кнопку Формат і на вкладці захисту зніміть прапорець Заблоковано. (Пам'ятайте, що це стосується лише цієї електронної таблиці, але всі клітини тепер будуть незахищеними, а не захищеними).

2) Виберіть Усі клітинки, клацніть правою кнопкою миші та виберіть формати комірок, а під захистом поставте Заблоковано.

3) Виберіть лише A1, клацніть правою кнопкою миші, виберіть осередки формату та зніміть прапорець під захистом.

4) Захистіть аркуш

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

Тепер, коли я вставляю текст із слова чи деінде, клітина не стає захищеною.


Після декількох років роботи з Excel я був шокований, коли дізнався про цю «особливість». Я навіть не вірив, коли мої користувачі розповідали про це, поки я не перевірив себе :) Радий, що ти зіштовхнувся в цьому році до мене: D
ZygD

1

Попередня відповідь більше не стосується останньої версії Excel 365. Поточна версія Excel 365 тепер створює новий стиль під назвою "Normal 2" або будь-який номер послідовності, який він потребує. Він застосовує новий стиль, який заблокований замість модифікованого звичайного стилю.

Ось рішення для Excel 365. Виберіть діапазон комірок, який ви хочете, щоб інші могли редагувати. Потім перейдіть на вкладку «Огляд». У розділі "Зміни" натисніть "Дозволити користувачам редагувати діапазони". Натисніть кнопку "Створити". Вибраний діапазон автоматично заповнюється автоматично створеним заголовком. Внесіть будь-які потрібні вручну зміни. Якщо ви хочете, щоб люди могли вносити зміни лише за допомогою пароля, ви можете ввести його тут. Я вважаю за краще, щоб люди не користувались паролем, тому натискаю кнопку "Дозволи", потім - "Додати". Я хочу, щоб хтось міг редагувати без пароля, тому я ввожу "Усі" так, як користувач дозволив вносити зміни. Якщо ви розумієте дозволи, ви можете вибрати одного користувача або набір користувачів, які зможуть вносити зміни без пароля. Потім просто натисніть "ОК" поки всі вікна не закриються. Захистіть свій аркуш, і ви добрі.


0

Я не знаю, чому це відбувається, але, наскільки я переживаю, це дуже велика помилка. :-(

Схоже, будь-який час, коли Excel намагається вставити у форматування тексту разом з текстом, який він перемикає у комірку. Якщо ви вибрали Match Destination Formattingяк варіант вставки; вставити з простого текстового редактора, як-от Блокнот; або вставити з іншої робочої книги в той самий екземпляр Excel, щоб комірка після цього все ще розблокована. Якщо ви робите звичайну пасту з будь-якої іншої програми, яка має форматування тексту, навіть інший екземпляр Excel, то Excel блокує вашу розблоковану комірку.

Питання щодо форматування як мінімум має обхід, де ви можете скопіювати правильне форматування з іншої комірки та вставити її назад у заплутану комірку.


Виявляється, це не помилка. Додав те, що, на мою думку, є рішенням, і подумав, що вам може бути цікаво.
Олексій Андронов

Вставка як звичайний текст (або Формат призначення призначення), мабуть, найкращий шлях, якщо ви вже створили свою електронну таблицю і не можете зіткнутися з необхідністю її налаштування заново, редагуючи стиль «Нормальний». Однак він покладається на те, що користувачі електронної таблиці знають, як вибрати різні варіанти вставки. На мій досвід, це дуже мало людей!
користувач535673

0

Ви вибираєте незахищену комірку на захищеному аркуші (AtiveCell), куди ви вставляєте дані з веб-браузера. Після пасти він стає захищеним. Це не бажано :-)

Я це зробив, і це працює!

У аркуші аркуша, в моєму випадку "Sheet1":

Sub Worksheet_Change(ByVal Target as Range)

  ...some irellevant code...

  ActiveSheet.Unprotect   
  ActiveCell.Locked=False

  ...code that protects Sheet1

Exit Sub

0

Як і всі інші на цій сторінці (і темі), це незрозуміло. Однак найкращий спосіб (для мене) це обійти - це коли вставляти дані "вставляти значення" і "вставляти спеціальне" - "гіперпосилання" під час вставки посилань. Я робив це таким чином, оскільки, як правило, я часто включав умовне форматування, і мені доводиться звичайно вставляти значення (або зміни умовного форматування). Сподіваюся, ви знайдете це корисно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.