Jak chronić lub blokować wartości komórek na podstawie koloru tła?
Przypuśćmy, że mam duży arkusz roboczy i wiele komórek jest wypełnionych różnymi kolorami tła, teraz chcę zablokować lub chronić komórki na podstawie określonego wypełnienia, na przykład blokowanie lub ochrona wszystkich komórek kolorem czerwonym. Czy są jakieś dobre metody radzenia sobie z tym zadaniem w programie Excel?
Chroń lub blokuj wartości komórek na podstawie koloru tła za pomocą kodu VBA
Chroń lub blokuj wartości komórek na podstawie koloru tła za pomocą kodu VBA
Na przykład chcę zablokować i chronić wszystkie czerwone krwinki, aby uniemożliwić innym użytkownikom modyfikowanie tych wartości komórek, następujący kod VBA może rozwiązać to zadanie za Ciebie, wykonaj następujące czynności:
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: Chroń lub blokuj wartości komórek na podstawie koloru:
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
Note: W powyższym kodzie numer 3 w ciągu indeks koloru = 3 skrypt wskazuje czerwone komórki, które chcę zablokować, możesz zmienić go na inny indeks koloru, który chcesz zablokować.
3. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a tylko komórki koloru czerwonego zostały zablokowane, inne komórki są odblokowane w używanym zakresie aktywnego arkusza, patrz zrzut ekranu:
4. Jeśli chcesz chronić je przed modyfikacją przez innych użytkowników, wystarczy zastosować rozszerzenie Chroń arkusz funkcja ochrony tego arkusza.
Wskazówki: Aby uzyskać numer indeksu kolorów, możesz zastosować następującą funkcję zdefiniowaną przez użytkownika:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!