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)
这与寻找位置的方法略有不同。例如,如果公式位于称为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)