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
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
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)