update/modify 公式 VBA

update/modify formula VBA

我有多个 sheet 应该引用另一个 sheet。 例如单元格 B3,sheet AC: =Inlife!G4。现在我新建两个sheets AC(2)和Inlife(2),B3,sheetAC(2)的参考应该是: =Inlife (2)!G4

我尝试了替换选项的多种变体,但到目前为止,我所能做的就是删除公式并保留一个值或空白单元格。

  Dim rng As Range, cell As Range
    Set rng = Sheets("AC (2)").Range("B3:B10")
    

    For Each cell In rng
  cell = WorksheetFunction.Substitute(cell, "Inlife", "Inlife (2)")

    Next

有谁知道一次性更新所有 references/formulas 的方法吗? (我试图只使用 excel 的搜索和替换功能,但这给了我关于公式的错误)

请尝试:

    For Each cell In rng
      cell.Formula = Replace(cell.Formula, "Inlife", "'Inlife (2)'")
    Next

我还想建议用 cel 替换 cell 变量。 Cell 是一个范围 属性,最好避免创建此类变量。它可能会对复杂的代码造成混淆...

最终效果很好。

   Dim rng As Range, cel As Range
    Set rng = Sheets("AC (2)").Range("B3:B10")
    

    For Each cel In rng
    cel.Formula = Replace(cel.Formula, "Inlife", "'Inlife (2)'")

    Next