MACRO con EVENTO que coloree las coincidencias de una fila con el color de la celda de evaluación

Estimado experto como seria la MACRO CON EVENTO que al darle clic en una celda coloreada inicie la búsqueda de las coincidencias y las coloree con el mismo color y sino no coincide coloree las celdas de "rojo".

Para esta evaluación de celdas vemos que todos los nombres que contienen el dato a evaluar comienza con la letra "C" osea esas columnas contienen los costos unitarios, es decir en C4 = 4.58 busca en la cabecera en la celda "C3" (fila 3) cual es el primer carácter con que empieza y procede a buscar la próxima columna que empieza con ese carácter que para el ejemplo es la celda "G3" y así sucesivamente hasta terminar la cabecera que para el caso es la "DF3".

Abajo te dejo el link del archivo

https://drive.google.com/file/d/0B4OmkP08K7UZQXpQNVV2N2FWdm8/view?usp=sharing 

1 respuesta

Respuesta
1

¿Cuál columna es la que vas a seleccionar la E?

No puedo descargar el archivo. Me lo envías a mi correo, recuerda poner tu nombre de usuario en el asunto del correo.

La búsqueda de coincidencias empieza con el contenido de la celda "E4" osea buscar en la fila 4 los datos que coinciden y colorearlos según el color que haya colocado en la columna "E" y los datos no coincidentes colorearlos de rojo. Acabo de enviarte el archivo a tu correo

¿Y el evento se debe activar cuando seleccionas una celda de qué columna?

H o l a:

Te anexo la macro, se activa cuando seleccionas una celda de la columna E

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target.Row < 4 Then Exit Sub
    If Not Intersect(Target, Columns("E")) Is Nothing Then
        micol = Target.Interior.ColorIndex
        uc = Cells(3, Columns.Count).End(xlToLeft).Column
        Range("F3", Columns(uc)).Interior.ColorIndex = xlNone
        For j = Columns("G").Column To uc
            If UCase(Left(Cells(3, j), 1)) = UCase(Left(Cells(3, "E"), 1)) Then
                If Cells(Target.Row, j) = Target Then
                    Cells(Target.Row, j).Interior.ColorIndex = micol
                Else
                    Cells(Target.Row, j).Interior.ColorIndex = 3
                End If
            End If
        Next
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas