Saltar al contenido

asignar condiciones a un rango dinamico

publicado

Buenos dias

 

Tengo una hoja con unas condiciones en una de las celdas, y con una macro quiero que al ejecutarla, se copie las conficiones de la celda F2 al resto de celdas de la columna, pero no hasta el final si no hasta la ultima celda con datos.

Tengo este codigo y funciona, pero me aplica con la condicion de la celda F2, es decir Si f2 es menor que E2 ponte rojo, y en la siguiente fila queria que si F3 es menor que E3 ponte rojo, o si es mayor ponte verde,

 

Adjunto el codigo

 

Sub Condicionar()
    
    Range("F2").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F$2=$E$2"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 5296274
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F$2<$E$2"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F$2>$E$2"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 5296274
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ESBLANCO($F$2)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .Pattern = xlNone
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    
    Selection.AutoFill Destination:=Range("F2: F" & Range("E" & Rows.Count) _
    .End(xlUp) _
    .Row)

 

Featured Replies

publicado
  • Autor

Ya esta solucionado, gracias igualmente

 

Un saludo

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.