CONTROL DE CELDAS MEDIANTE COLOR

En este ejemplo, controlo que celdas pueden ser seleccionadas y/o modificadas, apoyándome en el color de relleno y/o en el color de la fuente. Para que el sistema funcione correctamente, es imprescindible que se autorice la ejecución de macros.

El sistema solamente funciona por el método explicado aquí, pero no funciona si las celdas obtienen el color mediante Formato condicional.

Adicionalmente, y por si no se autoriza la ejecución de macros, las celdas A1 (título) y D2 (etiqueta de fecha), están protegidas mediante validación, para que no se pueda cambiar el texto existente. Importante: Este método no impide que el texto sea borrado.

Podríamos, mediante código, controlar si el texto ha sido cambiado, o borrado, y restituirlo, pero dependeríamos (como dije antes) de que las macros sean autorizadas.



Proceso de construcción del ejemplo (ver imagen):

*Nota: La diferencia entre los diferentes blancos o los diferentes negros, no es perceptible a simple vista.


Código en el módulo de la hoja:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fila&, col&
' Color blanco, ligeramente oscurecido.
If Target.Interior.Color <> 16711422 Then _
Cells(22, 1).End(xlUp).Offset(1).Select
' Color negro, ligeramente aclarado.
If Target.Font.Color = 65793 Then
' Número de fila de la celda seleccionada.
fila = Target.Row
' Columna inmediata a la derecha de la celda seleccionada.
col = Target.Column + 1
' Si celda activa en columna G.
If Target.Column = 7 Then
fila = fila + 1: col = 1
End If
' Selecciona la nueva ubicación.
Cells(fila, col).Select
End If
End Sub


Volver arriba