Wie kann ich Zellenwerte basierend auf der Hintergrundfarbe schützen oder sperren?
Angenommen, ich habe ein großes Arbeitsblatt und mehrere Zellen sind mit unterschiedlichen Hintergrundfarben gefüllt. Jetzt möchte ich die Zellen basierend auf einer bestimmten gefüllten Farbe sperren oder schützen, z. B. alle Zellen mit roter Farbe sperren oder schützen. Gibt es gute Methoden, um diese Aufgabe in Excel zu bewältigen?
Schützen oder sperren Sie Zellenwerte basierend auf der Hintergrundfarbe mit VBA-Code
Schützen oder sperren Sie Zellenwerte basierend auf der Hintergrundfarbe mit VBA-Code
Zum Beispiel möchte ich alle roten Blutkörperchen sperren und schützen. Um zu verhindern, dass andere Benutzer diese Zellenwerte ändern, kann der folgende VBA-Code diesen Job für Sie lösen. Gehen Sie dazu folgendermaßen vor:
1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modul Fenster.
VBA-Code: Schützen oder sperren Sie Zellenwerte basierend auf der Farbe:
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: Im obigen Code die Nummer 3 innerhalb der Farbindex = 3 Das Skript zeigt die roten Farbzellen an, die ich sperren möchte. Sie können sie in einen anderen Farbindex ändern, den Sie sperren möchten.
3. Dann drücken F5 Taste zum Ausführen dieses Codes, und nur rote Zellen wurden gesperrt. Andere Zellen werden im verwendeten Bereich des aktiven Blattes entsperrt. Siehe Screenshot:
4. Wenn Sie sie vor Änderungen durch andere Benutzer schützen möchten, müssen Sie nur das anwenden Schutzblatt Funktion zum Schutz dieses Arbeitsblatts.
Tipps: Um die Farbindexnummer zu erhalten, können Sie die folgende benutzerdefinierte Funktion anwenden:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!