使用 VBA 替换整本书中 Excel 公式中的所有实例?

Replace all instances of something in Excel formulas in the entire book using VBA?

整本书每个sheet的每个单元格的每个公式中,我想替换部分公式字符串,将所有“+”更改为“-”,有没有简单的方法这在 VBA 如果我有一个特定的工作簿对象 xlWb?

我正在尝试:

xlWb.Cells.Replace What:="+", Replacement:="-", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

但得到“对象不支持此 属性 或方法”

工作簿没有单元格,只有工作表有。这会导致您的运行时错误。我觉得你的 Replace-command 本身没问题。

只需遍历工作簿的所有工作表即可解决问题:

Dim ws As Worksheet
For Each ws In xlWb.Worksheets
    ws.Cells.Replace What:="-", Replacement:="+", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False _
        , FormulaVersion:=xlReplaceFormula2
Next

(如果我在你那里,我会在 运行 宏之前备份工作簿...)