Как защитить или заблокировать значения ячеек на основе цвета фона?
Предположим, у меня есть большая таблица, и в нескольких ячейках установлены разные цвета фона. Теперь я хочу заблокировать или защитить ячейки на основе определенного заполненного цвета, например, заблокировать или защитить все ячейки красного цвета. Есть ли хорошие методы для выполнения этой задачи в Excel?
Защитите или заблокируйте значения ячеек на основе цвета фона с помощью кода VBA
Защитите или заблокируйте значения ячеек на основе цвета фона с помощью кода 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, чтобы запустить этот код, и только красные ячейки будут заблокированы, другие ячейки будут разблокированы в используемом диапазоне активного листа, см. скриншот:
4. Если вы хотите защитить их от изменения другими пользователями, вам просто нужно применить функцию Защитить Лист, чтобы защитить этот рабочий лист.
Советы: Чтобы получить номер индекса цвета, вы можете применить следующую пользовательскую функцию:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек