Note: The other languages of the website are Google-translated. Back to English

Як запобігти видаленню певного вмісту комірки в Excel?

У цій статті йдеться про запобігання видаленню певного вмісту комірок у Excel. Ви можете досягти цього методами, описаними в цій статті.

Запобігайте видаленню вмісту певної комірки, захищаючи робочий аркуш
Запобігання видаленню вмісту певної комірки за допомогою коду VBA


Запобігайте видаленню вмісту певної комірки, захищаючи робочий аркуш

За замовчуванням усі комірки робочого аркуша заблоковані. Якщо ви хочете запобігти видаленню певного вмісту комірок та зробити інші комірки доступними для редагування після захисту, виконайте наступні дії.

1. Натисніть у верхньому лівому куті аркуша, щоб вибрати весь аркуш. Потім натисніть Ctrl + 1 ключі, щоб відкрити Формат ячеек діалогове вікно.

2. У спливаючому Формат ячеек діалоговому вікні, зніміть прапорець біля Заблокований опція під захист вкладку, а потім натисніть кнопку OK кнопку. Дивіться знімок екрана:

3. Виділіть клітинки, для яких не потрібно видаляти вміст, натисніть Ctrl + 1 клавіші, щоб відкрити Формат ячеек діалогове вікно ще раз, перевірте Заблокований опція під захист вкладку, а потім натисніть кнопку OK кнопки.

4. Тепер натисніть Розгляд > Захистити аркуш, а потім вкажіть і підтвердьте свій пароль в обох Захистити аркуш і Підтвердити пароль діалогові вікна.

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


Запобігання видаленню вмісту певної комірки за допомогою коду VBA

Окрім вищезазначених двох методів, ви можете запустити код VBA, щоб запобігти видаленню певного вмісту комірки на аркуші. Будь ласка, виконайте наступне.

1. Відкрийте аркуш, що містить вміст комірки, який ви не хочете видаляти, клацніть правою кнопкою миші вкладку Аркуш, а потім клацніть Переглянути код з меню, що клацне правою кнопкою миші.

2. Скопіюйте та вставте наведений нижче код VBA у вікно коду Microsoft Visual Basic для додатків вікна.

Код VBA: запобігання видаленню вмісту певної комірки в Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

примітки: У коді A1: E17 - це діапазон, для якого вміст клітинки, який ви не зможете видалити. Ви можете змінити діапазон відповідно до своїх потреб.

Відтепер, при спробі видалити вміст комірки з діапазону A1: E17, ви отримаєте Kutools для Excel діалоговому вікні, як показано на знімку екрана, клацніть на OK кнопки.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (17)
Оцінено 5 з 5 · рейтинги 1
Цей коментар був мінімізований модератором на сайті
Саме те, що я шукав, дякую за допомогу!
Цей коментар був мінімізований модератором на сайті
не хвилюйся завжди тут, щоб допомогти :)
Цей коментар був мінімізований модератором на сайті
Привіт там,

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

Чи хотіли б ви внести поправку до сценарію, щоб він приймав дані в комірці, яка доступна для редагування, коли ви вкладаєте в не редаговані?

Ваше здоров'я
Цей коментар був мінімізований модератором на сайті
Добрий день,
Я спробував, як ви згадували у вашому випадку, але жодної помилки не виникає. Не могли б ви надати знімок екрана вашої справи або сказати мені свою версію Office?
Дякую за ваш коментар.
Цей коментар був мінімізований модератором на сайті
Якщо ви не хочете переглядати свій аркуш або писати код VBA, то я використовую просту техніку, яка запобігає будь-якому перевизначенню, за винятком випадків, коли вони використовують клавішу «DELETE» (назад не буде дозволено, але видалення важко зупинити ). Я додав перевірку даних із такими налаштуваннями:

1) Дозволити --> Список

2) зніміть прапорці «Ігнорувати пусте» та «випадаюче меню в клітинці»

3) У джерелі введіть дві подвійні лапки (тобто "")

4) На вкладці Попередження про помилку встановіть прапорець «Показати зміну помилки після введення недійсних даних», виберіть «Зупинити» для стилю, потім введіть повідомлення про помилку та опис (наприклад, Не замінювати)
Цей коментар був мінімізований модератором на сайті
привіт,
Дякую, що поділилися.
Цей коментар був мінімізований модератором на сайті
Код VBA – чудова порада, дякую

Чи існує код VBA, щоб запобігти зміні й видаленню певного вмісту клітинки в Excel?
Звичайний захисний аркуш у мене не працює, оскільки я втрачаю можливість сортувати дані?

Наперед дякую - Ніл
Цей коментар був мінімізований модератором на сайті
«Запобігти видаленню певного вмісту клітинки, захистивши робочий аркуш». Я зробив згідно з вашими вказівками, все одно інформацію клітинки можна видалити, тобто захист не працює. Будь-яке рішення.
Цей коментар був мінімізований модератором на сайті
Привіт Ахсан,
Ви застосовували метод VBA?
Вам потрібно додати VBA до вікна коду робочого аркуша. Припустимо, що вміст осередку, який ви хочете захистити, знаходиться на Аркуші9, клацніть правою кнопкою миші вкладку аркуша та виберіть Перегляд коду з контекстного меню, а потім безпосередньо скопіюйте код у вікно коду, як показано на зображенні нижче.
Цей коментар був мінімізований модератором на сайті
Привіт, цей код працює добре, проте видалення рядка/стовпця обійде його. Чи є обхідний шлях для цього? Здоров'я, Девід.
Цей коментар був мінімізований модератором на сайті
Привіт Девід,
Яку версію Excel ви використовуєте? Я спробував код, цілі рядки та стовпці у вказаному діапазоні не можуть бути видалені після застосування коду.
Цей коментар був мінімізований модератором на сайті
Дякую за цінну інформацію.
Щодо наведеного нижче VBA:
Приватний допоміжний робочий лист_Change(ByVal Target As Range)
Якщо Intersect(Target, Range("A1:E7")) не має значення, вийдіть із Sub
У разі помилки GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Then
Застосування. Скасувати
MsgBox "Ви не можете видалити вміст клітинки з цього діапазону" _
, vbCritical, "Kutools для Excel"
End If
ExitPoint:
Application.EnableEvents = True
End Sub

Вищезазначене дозволить виконання в межах певного зазначеного діапазону. Це не дозволяє додавати нові рядки. Чи є спосіб додавати нові рядки, зберігаючи той самий захист.
дякую і поважаю
Цей коментар був мінімізований модератором на сайті
Привіт Усама Абу Фарадж,
Після спроб із різними методами я не можу змусити це працювати. Після додавання нового рядка область буде негайно заблоковано, і щойно вставлену комірку неможливо буде редагувати.
Цей коментар був мінімізований модератором на сайті
Чи можна зробити щось подібне на рівні робочого зошита?

Приватний допоміжний робочий лист_Change(ByVal Target As Range)
Якщо Intersect(Target, Range("A1:M7000")) не є нічим, тоді вийдіть із Sub
У разі помилки GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Then
Застосування. Скасувати
MsgBox "Ви не можете видалити вміст клітинки з цього діапазону" _
, vbCritical, "Kutools для Excel"
End If
ExitPoint:
Application.EnableEvents = True
End Sub
Цей коментар був мінімізований модератором на сайті
Привіт Гелу,
Ви хочете запобігти видаленню діапазону "A1:M7000" на всіх аркушах поточної книги?
Цей коментар був мінімізований модератором на сайті
Ні, я мав на увазі НЕ дозволити видалення (без захисту wks або wkb).

Приємно, що вищезазначене працює на рівні Wks.

Якщо є щось, щоб це працювало на рівні wkb, це було б навіть краще (у мене багато аркушів)

G
Цей коментар був мінімізований модератором на сайті
Це чудово. Мені було цікаво, чи це був варіант, і, звичайно, це було. Дякую за дуже прості інструкції.

Андрій С.
Оцінено 5 з 5
There are no comments posted here yet
Будь ласка, залишайте свої коментарі англійською мовою
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL