Jak zablokować komórki na podstawie koloru w programie Microsoft Excel

Microsoft Excel umożliwia stosowanie formatowania warunkowego do komórek. Jeśli wartość w komórce spełnia określone przez Ciebie reguły, funkcja formatowania warunkowego zmieni kolor tekstu w komórce, kolor wypełnienia lub oba te elementy. Jest to podstawowa funkcja, która działa od razu po wyjęciu z pudełka, jednak jeśli chcesz zablokować komórki na podstawie koloru, potrzebujesz do tego małego skryptu VBA.

Możesz użyć formatowania warunkowego, aby zmienić kolor komórki, lub możesz ręcznie zmienić kolor na dowolny. Skrypt VBS nie zależy od formatowania warunkowego w celu zablokowania komórek. Do pokolorowania wystarczy komórka.

Zablokuj komórki na podstawie koloru

Zanim utworzysz skrypt VBA, musisz znać kolor komórki, do której się odwołujesz. VBA nie widzi kolorów takimi, jakimi są; odwołuje się do nich poprzez kody kolorów.

Pierwszą rzeczą, którą musisz zrobić, jest nadanie komórce koloru. Wybraliśmy podstawowy żółty, który jest dość łatwy do odniesienia. Jeśli wybierasz się w innym kolorze, korzystać z tej witryny aby znaleźć kod koloru, którego potrzebujesz. Kod koloru, którego używamy dla koloru żółtego, to # FFFF00.

W programie Excel włącz kartę Deweloper, a następnie przejdź do niej. Kliknij przycisk Visual Basic i wklej następujące elementy w „tym arkuszu”. Ten skrypt został napisany przez użytkownika 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

Uruchom skrypt, a zablokuje on wszystkie komórki o ustawionym kolorze. W tym wierszu skryptu zostanie umieszczony kod koloru, który znalazłeś dla swojego koloru;

colorIndex = FFFF00

FFFF00 reprezentuje żółty kolor i to właśnie musisz zastąpić dowolnym kodem koloru, który ma zastosowanie do używanego koloru. Powinniśmy wspomnieć, że najlepiej wybrać podstawowy kolor. Gdy to dodasz, będziesz musiał zapisać plik Excela jako plik z obsługą makr, w przeciwnym razie skrypt VBA nie zapisze.

Zablokowane komórki można łatwo odblokować. Blokada nie jest blokadą chronioną hasłem, która uniemożliwia innym osobom zmianę wartości komórki, jeśli chcą. To zwykła blokada, która zapobiega przypadkowym zmianom w pliku.