Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

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

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


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

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

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

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 в скрипте colorIndex = 3 указывает на красные ячейки, которые я хочу заблокировать. Вы можете изменить его на другой индекс цвета, который вы хотите заблокировать.

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

after running the vba code, only the specific color cells are locked

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

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

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Лучшие инструменты для повышения продуктивности в Office

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

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!