Как защитить или заблокировать значения ячеек на основе цвета фона?
Предположим, у меня есть большой рабочий лист, и несколько ячеек заполнены разными цветами фона, теперь я хочу заблокировать или защитить ячейки на основе определенного цвета заливки, например, заблокировать или защитить все ячейки красным цветом. Есть ли какие-нибудь хорошие методы для решения этой задачи в 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 ключ для запуска этого кода, и только ячейки красного цвета были заблокированы, другие ячейки разблокированы в используемом диапазоне активного листа, см. снимок экрана:
4. Если вы хотите защитить их от изменения другими пользователями, вам просто нужно применить Защитить лист функция для защиты этого листа.
Советы: Чтобы получить номер индекса цвета, вы можете применить следующую функцию, определяемую пользователем:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Разблокируйте магию Excel с помощью Kutools AI
- Умное исполнение: выполнение операций с ячейками, анализ данных и создание диаграмм — и все это осуществляется с помощью простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации рабочих процессов.
- VBA-кодирование: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формулы: Легкое понимание сложных формул.
- Перевод текста: преодолевайте языковые барьеры в своих таблицах.
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!