我需要生成VBA代码来编辑用于条件格式设置的现有公式。
如果我目前有:
我需要VBA才能将其更改为:
到目前为止,我已经尝试过:
FormString = "=IFERROR(FIND(""that"",A1),FALSE)"
For Each fc In FormulaSheet.UsedRange.FormatConditions
If TypeName(fc) = "FormulaString" Then
fc.Formula1 = FormString
End If
Next fc
上面的代码可以运行,但是没有任何改变。
我知道如何使用公式创建新条件(使用Range("A1").FormatConditions.Add Type:=xlExpression, Formula1:=FormString
)
但是一旦创建,我似乎无法使用VBA更改公式。
我的问题是我得到的工作表有很多条件,需要编辑公式,但不要碰其他任何东西。我可以存储所有参数,删除条件并使用新公式重新创建它们,但这似乎是一种效率很低的方法
答案 0 :(得分:-1)
Dude,我有一个VBA函数,可以根据单元格颜色生成“ SumIf”。 您可以根据需要调整它。 玩得开心:
Function SOMACOR(Referência As Range, Matriz As Range, Fonte As Boolean)
Application.Volatile
Dim rCell As Range
Dim rCor As Long
Dim rResult As Variant
If Fonte = False Then
rCor = Referência.Interior.ColorIndex
For Each rCell In Matriz
If rCell.Interior.ColorIndex = rCor Then
rResult = WorksheetFunction.SUM(rCell, rResult)
End If
Next rCell
Else
rCor = Referência.Font.ColorIndex
For Each rCell In Matriz
If rCell.Font.ColorIndex = rCor Then
rResult = WorksheetFunction.SUM(rCell, rResult)
End If
Next rCell
End If
SOMACOR = rResult
End Function