¿Cómo proteger o bloquear los valores de las celdas según el color de fondo?
Supongamos que tengo una hoja de cálculo grande y múltiples celdas están rellenas con diferentes colores de fondo. Ahora, quiero bloquear o proteger las celdas basándome en un color de relleno específico, como bloquear o proteger todas las celdas de color rojo. ¿Existen buenos métodos para manejar esta tarea en Excel?
Proteger o bloquear los valores de las celdas según el color de fondo con código VBA
Proteger o bloquear los valores de las celdas según el color de fondo con código VBA
Por ejemplo, quiero bloquear y proteger todas las celdas rojas para evitar que otros usuarios modifiquen estos valores de las celdas. El siguiente código VBA puede resolver este trabajo por ti; por favor, sigue estos pasos:
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.
Código VBA: Proteger o bloquear los valores de las celdas 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 dentro del script colorIndex = 3 indica las celdas de color rojo que deseo bloquear. Puedes cambiarlo al índice de otro color que quieras bloquear.
3. Luego presiona la tecla F5 para ejecutar este código, y solo las celdas de color rojo se bloquearán; otras celdas estarán desbloqueadas en el rango utilizado de la hoja activa, ver captura de pantalla:
4. Si deseas protegerlas de ser modificadas por otros usuarios, solo necesitas aplicar la función Proteger Hoja para proteger esta hoja de cálculo.
Consejos: Para obtener el número de índice de color, puedes aplicar la siguiente Función Definida por el Usuario:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!