Poner en color una fila cuando cambie el valor a 0

Para dante

Tengo la columna EG186:250 la cual se mantiene en $0

la cual tiene esta formula (=+ED186+EE186-EF186)

ED186 tiene esta formula (=+DZ260+DV260+DR260+DN260+DJ260+DF260+DB260+CX260+CT260+CP260+CL260+CH260+CD260+BZ260+BV260+BR260+BN260+BJ260+BF260+BB260+AX260+AT260+AP260+AL260+AH260+AD260+X260+R260+N260+J260+F260+D260)

EE186 tiene esta formula

(=+EA260+DW260+DS260+DO260+DK260+DG260+DC260+CY260+CU260+CQ260+CM260+CI260+CE260+CA260+BW260+BS260+BO260+BK260+BG260+BC260+AY260+AU260+AQ260+AM260+AI260+AE260+Y260+S260+O260+K260+G260)

y EF186 tiene esta otra

(=+EB260+DX260+DT260+DP260+DL260+DH260+DD260+CZ260+CV260+CR260+CN260+CJ260+CF260+CB260+BX260+BT260+BP260+BL260+BH260+BD260+AZ260+AV260+AR260+AN260+AJ260+AF260+Z260+T260+P260+L260+H260)

Entonces quisiera que al estar así en ese valor 0 la columna EG186 este sin color las filas... (antes de hacer acciones de la fórmula)

Cuando cambie a un valor $ este en color (azul)

Y cuando el valor vuelva a quedar en $0 entonces cambie a color verde toda la fila:

Ejem

Así esta al principio (sin color)

primera accion:

segunda accion: (no siempre sucede)

tercera accion y ultima para que quede en valor $0 de nuevo y marque en verde

1 Respuesta

Respuesta
1

Para hacer lo que necesitas, primero, tienes que almacenar el valor de la columna EG en otra columna, pero como valor, es decir, deberás hacer una macro que verifique cuando se cambia cualquiera de las celdas que pusiste en tus fórmulas.

Por ejemplo, esta celda "DZ260" está en una de tus fórmulas, si la modificas tienes que hacer esto con la macro:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    colnva = "FX"
    If Not Intersect(Target, Range("DZ:DZ, DV:DV, DR:DR")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        f = Target.Row
        If Cells(f, "EG") = 0 Then
            If Cells(f, colnva) = 0 Then
                '
            Else
                'significa que regresó a 0
                Rows(f).Interior.ColorIndex = 4
                Cells(f, colnva) = Cells(f, "EG")
            End If
        Else
            If Cells(f, colnva) = 0 Then
                Cells(f, colnva) = Cells(f, "EG")
                Rows(f).Interior.ColorIndex = xlNone
            Else
                '
            End If
        End If
    End If
End Sub

La macro va en los eventos de worsheet. Tienes que agregar todas las columnas que son afectan a las fórmulas ED, EE, EF

    If Not Intersect(Target, Range("DZ:DZ, DV:DV, DR:DR")) Is Nothing Then

aqui en esta parte voy agregando las demas columnas que son afectadas?

Exacto! Tienes que poner todas las columnas que de alguna manera afectan el resultado de la columna EG.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas