Microsoft Excel дозволяє застосовувати умовне форматування до комірок. Якщо значення в комірці відповідає певним правилам, які ви встановили, функція умовного форматування змінить колір тексту в комірці або колір заливки, або обидва. Це основна функція, яка працює відразу ж, але якщо ви хочете заблокувати клітинки на основі кольору, вам потрібен невеликий скрипт VBA для цього.
Ви можете використовувати умовне форматування, щоб змінити колір комірки, або вручну змінити колір на будь-який потрібний. Сценарій VBS не залежить від умовного форматування для блокування комірок. Для фарбування потрібна лише клітинка.
Блокування осередків на основі кольору
Перш ніж створити сценарій VBA, вам потрібно знати колір комірки, на яку ви посилаєтеся. VBA не бачить кольори такими, якими вони є; він посилається на них через їх колірні коди.
Перше, що вам потрібно зробити, це надати клітині колір. Ми перейшли до основного жовтого кольору, на який досить легко посилатися. Якщо ви збираєтеся з іншим кольором, використовувати цей веб-сайт щоб знайти, який колірний код потрібно використовувати. Код кольору, який ми використовуємо для жовтого #FFFF00.
У Excel увімкніть вкладку Розробник, а потім перейдіть на неї. Натисніть кнопку Visual Basic і вставте наступне в «Цей аркуш». Цей сценарій був написаний користувачем Superuser Dave.
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 не збережеться.
Заблоковані комірки можна легко розблокувати. Замок не захищений паролем, він не дозволяє іншим людям змінювати значення комірки, якщо вони хочуть. Це звичайний замок, який запобігає випадковим змінам у файлі.