Cambiar de color del texto de un rango de celdas al posicionarse en ellas y regresar a su color original al salir del rango

Expertos Dante Amor buen día, tengo el rango de celdas C5:E10 (el rango que aplicaría a mi archivo real seria mas amplio), lo que se ocupa es que al seleccionar cualquier celda dentro de ese rango dichas celdas cambien su color de texto a NEGRO, y que al dejar de seleccionar regrese el texto de dichas celdas a color de texto BLANCO (para que no se vea ni se imprima el texto),

ejemplo...

Si selecciono cualquier celda del rango C5:C10

... Aplicar color NEGRO al texto del rango C5:C10

... Aplicar color BLANCO al texto del rango D5:E10

Si selecciono cualquier celda del rango D5:D10

... Aplicar color NEGRO al texto del rango D5:C10

... Aplicar color BLANCO al texto del rango C5:C10 y E5:E10

Si selecciono cualquier celda del rango E5:E10

... Aplicar colo NEGRO al texto del rango E5:E10

... Aplicar color BLANCO al texto del rango C5:C10 y D5:D10

Si selecciono una celda fuera de del rango C5:E10:

... Aplicar color BLANCO al texto del rango C5:E10

Sin mas por el momento.

1 Respuesta

Respuesta
3

H o l a:

Te anexo la macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    Set r = Range("C5:E10")
    i = r.Cells(1, 1).Row
    f = r.Rows.Count + i - 1
    With r.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
    If Not Intersect(Target, r) Is Nothing Then
        With Range(Cells(i, Target.Column), Cells(f, Target.Column)).Font
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
        End With
    End If
End Sub


' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

¡Gracias! Dante, me ha funcionado muy bien.

Dante Amor buen día, se que esta pregunta ya estaba finalizada, pero aplicando tu macro a mi caso real el comando With, hace que la interacción con la hoja sea más lenta, ¿hay algo más que lo pueda suplir?.

Saludos

H o l a:

No sé a qué te refieres con esto:

"

Pero aplicando tu macro a mi caso real el comando With

"

Yo lo probé y con el rango "C5:E10", es efectivo y rápido, incluso con un rango de C5 hasta E100000 (cien mil), es rápido. Pero si el rango es muy grande, el proceso se hará lento, y será más lento si en la hoja tienes muchas fórmulas, en tal caso te sugiero que desactives el cálculo automático.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas