Hi
Welcome to the board
In this example I set 3 formatting conditions for Sheet1!C1
I add expressions similar to yours:
=(Sheet2!$A$1+Sheet3!$A$1=2) (colour yellow)
=(Sheet2!$A$1+Sheet3!$A$1=3) (colour red)
=(Sheet2!$A$1+Sheet3!$A$1=4) (colour green)
I then change the 2nd conditions, replacing Sheet2 with Sheet4, so that the 2nd condition is modified to
=(Sheet4!$A$1+Sheet3!$A$1=3) (colour blue)
I print the conditions before and after modifying the second condition so that it's easy to check if it's OK.
See if this helps:
Sub ModifyCF()
Dim cfs As FormatConditions
Dim cf As FormatCondition
Set cfs = Worksheets("Sheet1").Range("C1").FormatConditions
' for test, delete format conditions
cfs.Delete
' add 3 format conditions
Set cf = cfs.Add(Type:=xlExpression, Formula1:="=(Sheet2!$A$1+Sheet3!$A$1=2)")
cf.Interior.Color = vbYellow
Set cf = cfs.Add(xlExpression, Formula1:="=(Sheet2!$A$1+Sheet3!$A$1=3)")
cf.Interior.Color = vbRed
Set cf = cfs.Add(Type:=xlExpression, Formula1:="=(Sheet2!$A$1+Sheet3!$A$1=4)")
cf.Interior.Color = vbGreen
' print the format conditions
Debug.Print "First format condition: " & cfs(1).Formula1
Debug.Print "Second format condition: " & cfs(2).Formula1
Debug.Print "Third format condition: " & cfs(3).Formula1
' modify the second format condition
Set cf = cfs(2)
cf.Modify xlExpression, Formula1:=Replace(cf.Formula1, "Sheet2", "Sheet4")
cf.Interior.Color = vbBlue
cf.Priority = 2
' print the format conditions
Debug.Print "First format condition: " & cfs(1).Formula1
Debug.Print "Second format condition: " & cfs(2).Formula1
Debug.Print "Third format condition: " & cfs(3).Formula1
End Sub