有没有办法在vba中编辑公式

Jam*_*cox 2 excel vba editing formula

假设我在单元格中有一个公式并且我想编辑该公式,我该怎么做?

我正在寻找的示例是我想在公式中的某些点添加 $ 符号,有没有办法告诉 VBA 在公式中的某些字符后添加 $?

我不是在寻找将公式转换为绝对参考公式的方法,我只是想知道如何在公式中的某些点添加字符或符号

公式示例:这是VBA粘贴到单元格中的内容

=IF(A13="Please add a title",0,B17*VLOOKUP(A13,'Tables (H)'!$H$2:$J$6,2,FALSE))
Run Code Online (Sandbox Code Playgroud)

编辑后我希望它看起来像这样

=IF($A$13="Please add a title",0,B17*VLOOKUP($A$13,'Tables (H)'!$H$2:$J$6,2,FALSE))
Run Code Online (Sandbox Code Playgroud)

Dou*_*ncy 5

这与寻找位置的方法略有不同。例如,如果公式位于称为Cell您可以使用的单个单元格范围内Replace

Cell.Formula = Replace(Cell.Formula, "A13", "$A$13")
Run Code Online (Sandbox Code Playgroud)

编辑:

好的,这里有一些在公式中使用表格/ListObject 的第一个单元格的东西。这可能是实现您想要的更直接的方式。如果没有,我认为您可以更改它以使用命名范围的第一个单元格:

Sub test()
Dim ws As Excel.Worksheet
Dim lo As Excel.ListObject
Dim FirstTableCell As Excel.Range
Dim CellWithFormula As Excel.Range

Set ws = ActiveSheet
Set lo = ws.ListObjects(1)
Set FirstTableCell = lo.DataBodyRange.Cells(1)
Set CellWithFormula = ws.Range("A2")
CellWithFormula.Formula = "=" & FirstTableCell.Address & "+1000"

End Sub
Run Code Online (Sandbox Code Playgroud)