¿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
Note: 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
Mejore sus habilidades de Excel con Kutools for Excel y 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 lleva 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!