Как заблокировать ячейки на основе цвета в Microsoft Excel

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

Вы можете использовать условное форматирование, чтобы изменить цвет ячейки, или вы можете вручную изменить цвет на все, что захотите. Сценарий VBS не зависит от условного форматирования для блокировки ячеек. Просто нужно раскрасить клетку.

Блокировать ячейки на основе цвета

Прежде чем вы сможете создать сценарий VBA, вам необходимо знать цвет ячейки, на которую вы ссылаетесь. VBA не видит цвета такими, какие они есть; он ссылается на них через их цветовые коды.

Первое, что вам нужно сделать, это придать своей ячейке цвет. Мы выбрали основной желтый цвет, на который достаточно легко ссылаться. Если вы выберете другой цвет, использовать этот сайт чтобы узнать, какой цветовой код вам нужен. Цветовой код, который мы используем для желтого, — # FFFF00.

В Excel включите вкладку Разработчик, а затем переключитесь на нее. Нажмите кнопку Visual Basic и вставьте следующее в «Этот лист». Этот сценарий был написан пользователем Superuser Дэйвом.

Sub WalkThePlank()

dim colorIndex as Integer
colorIndex = FFFF00

Dim rng As Range

For Each rng In ActiveSheet.UsedRange.Cells

Dim color As Long
color = rng.Interior.ColorIndex
If (color = colorIndex) Then 
rng.Locked = True
else
rng.Locked = false 
End If

Next rng

End Sub

Запустите сценарий, и он заблокирует все ячейки того цвета, который вы установили. Цветовой код, который вы нашли для своего цвета, будет установлен в этой строке скрипта;

colorIndex = FFFF00

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

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