¿Cómo proteger o bloquear los valores de las celdas según el color de fondo?
Supongamos que tengo una hoja de trabajo grande y varias celdas están llenas con diferentes colores de fondo, ahora quiero bloquear o proteger las celdas en función de cierto color de relleno, como bloquear o proteger todas las celdas con color rojo. ¿Existen buenos métodos para hacer frente a esta tarea en Excel?
Proteja o bloquee los valores de celda según el color de fondo con el código VBA
Proteja o bloquee los valores de celda según el color de fondo con el código VBA
Por ejemplo, quiero bloquear y proteger todos los glóbulos rojos, para evitar que otros usuarios modifiquen estos valores de celda, el siguiente código VBA puede resolver este trabajo por usted, haga lo siguiente:
1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.
Código VBA: proteja o bloquee los valores de la celda según el color:
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
Nota: En el código anterior, el número 3 en la pestaña índice de color = 3 El script indica las celdas de color rojo que quiero bloquear, puede cambiarlo a otro índice de color que desee bloquear.
3. Entonces presione F5 clave para ejecutar este código, y solo se han bloqueado las celdas de color rojo, otras celdas se desbloquean en el rango usado de la hoja activa, vea la captura de pantalla:
4. Si desea protegerlos para que no sean modificados por otros usuarios, solo necesita aplicar el Hoja de protección característica para proteger esta hoja de trabajo.
Sugerencias: para obtener el número de índice de color, puede aplicar la siguiente función definida por el usuario:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Las mejores herramientas de productividad de oficina
Potencia tus habilidades de Excel con Kutools for Excely experimente la eficiencia como nunca antes. Kutools for Excel Ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab Trae la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!




