Перейти к основному содержанию

Как защитить или заблокировать значения ячеек на основе цвета фона?

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

Защита или блокировка значений ячеек на основе цвета фона с помощью кода VBA


стрелка синий правый пузырь Защита или блокировка значений ячеек на основе цвета фона с помощью кода VBA

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

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: защита или блокировка значений ячеек на основе цвета:

Sub lockcellsbycolor()
'Updateby Extendoffice
    Dim colorIndex As Integer
    colorIndex = 3
    Dim xRg As Range
    Application.ScreenUpdating = False
    For Each xRg In ActiveSheet.UsedRange.Cells
        Dim color As Long
        color = xRg.Interior.colorIndex
        If (color = colorIndex) Then
            xRg.Locked = True
        Else
            xRg.Locked = False
        End If
    Next xRg
    Application.ScreenUpdating = True
    MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub

Внимание: В приведенном выше коде число 3 в индекс цвета = 3 скрипт указывает ячейки красного цвета, которые я хочу заблокировать, вы можете изменить его на другой индекс цвета, который вы хотите заблокировать.

3, Затем нажмите F5 ключ для запуска этого кода, и только ячейки красного цвета были заблокированы, другие ячейки разблокированы в используемом диапазоне активного листа, см. снимок экрана:

док-блокировка ячеек по цвету 1

4. Если вы хотите защитить их от изменения другими пользователями, вам просто нужно применить Защитить лист функция для защиты этого листа.

Советы: Чтобы получить номер индекса цвета, вы можете применить следующую функцию, определяемую пользователем:

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

Лучшие инструменты для офисной работы

Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour, y a t il une astuce quand la feuille est protégée d utiliser le panel des couleurs dans l onglet accueil pour mettre un fond de couleur sur les cases non protégés merci
This comment was minimized by the moderator on the site
How do you run this in a loop, so that all cells in all sheets that are not the specific color will be protected?
This comment was minimized by the moderator on the site
Can this be applied to a sheet with merged cells and can it recognize a cell color that is based on conditional formatting? I want to lock cells that are color code 15 and those cells are color code 15 based on a conditional format. Thank you in advance.
This comment was minimized by the moderator on the site
Bonjour,
j'aurais voulu savoir si il était possible de faire la même chose mais avec la valeur de la cellule plutôt que la couleur?
Par exemple: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

Merci d'avance
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations