编辑条件格式公式

时间:2019-04-01 20:14:10

标签: excel vba conditional-formatting

我需要生成VBA代码来编辑用于条件格式设置的现有公式。

如果我目前有:

enter image description here

我需要VBA才能将其更改为:

enter image description here

到目前为止,我已经尝试过:

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更改公式。

我的问题是我得到的工作表有很多条件,需要编辑公式,但不要碰其他任何东西。我可以存储所有参数,删除条件并使用新公式重新创建它们,但这似乎是一种效率很低的方法

1 个答案:

答案 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