I don't think you can edit the Conditional Formatting. I suspect that you have to delete what's there and re-apply it.
This is a recorded macro to set up CF in cell C7 to C19
Sub Macro2()
'
' Macro2 Macro
'
'
Range("C7:C19").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=C1="""""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
And this is a macro which will loop through all the CF on a worksheet and create a list of the ranges and the formulas
Option Explicit
Sub lsform()
Dim cf As FormatCondition
Dim rng As Range
Dim vArray, i As Long
Set rng = Cells
If rng.FormatConditions.Count = 0 Then
MsgBox "No CF"
Exit Sub
End If
ReDim vArray(1 To rng.FormatConditions.Count, 1 To 2)
i = 0
For Each cf In rng.FormatConditions
'Debug.Print cf.Formula1, cf.AppliesTo.Address
i = i + 1
'build array of conditions and addresses
vArray(i, 1) = cf.Formula1
vArray(i, 2) = cf.AppliesTo.Address
Next cf
' output array to same sheet, specified start cell
With Range("G1").Resize(UBound(vArray, 1), 2)
.NumberFormat = "@"
.Value = vArray
End With
' output array to another sheet, specified start cell
With Sheet2.Range("A1").Resize(UBound(vArray, 1), 2)
.NumberFormat = "@"
.Value = vArray
End With
End Sub
You can also check the interior color and the font color, etc:
?cf.Interior.Color
65535
?cf.Font.Color
Null
So, if you first establish the range, the formula, the background, font, borders, whatever, you should be able to adjust the range and re-apply the CF.
Bookmarks