Excel查找和替换具有不同引用的公式

时间:2017-06-20 09:01:47

标签: excel vba excel-vba

我在工作表上有许多单元格,其中包含以下公式:

=IF(COUNTIF(O7:O9;"Fail");"Fail";"Pass")

我想用以下公式替换所有细胞:

=IF(COUNTIF(O7:O9;"");"Default";(IF(COUNTIF(O7:O9;"Fail");"Fail";"Pass")))

如何一举将它们全部更改为新配方?
这是一堆细胞,请注意具有配方的所有细胞都有不同的参考。

2 个答案:

答案 0 :(得分:0)

您可以直接执行ctrl + h并替换forumulae。

答案 1 :(得分:0)

这应该有效

只需选择上面提到的“那些”公式的所有单元格,如果选择任何空白单元格或具有不同公式的单元格,它将崩溃

您也可以一次选择几个单元格

Sub changeFormulaOfSelectedCells()
Dim rng As Range
Dim rangeInFormula As String
Dim cellFormula As String

For Each rng In Selection
    cellFormula = rng.Formula
    rangeInFormula = Mid(cellFormula, 13, InStr(cellFormula, ";") - 13)
    rng.Formula = "=IF(COUNTIF(" & rangeInFormula & ";" & Chr(34) & Chr(34) & ");" & Chr(34) & "Default" & Chr(34) & ";(IF(COUNTIF(" & rangeInFormula & ";" & Chr(34) & "Fail" & Chr(34) & ");" & Chr(34) & "Fail" & Chr(34) & ";" & Chr(34) & "Pass" & Chr(34) & ")))"
    Next rng
End Sub

如果您收到错误,请检查我是否错过了使用上述代码中的,替换任何;