是否有人知道一种方法或宏可以将公式转变为间接公式?
例如,我的工作表上的所有公式目前都写为:
=SUM(Sheet2!A1:A10),
有没有办法可以快速将其更改为INDIRECT
如下函数:
=SUM(INDIRECT("'Sheet2'!"&"A1"):Sheet2!$A$10)
对于一个公式来说,改变它并不难,但对于 100 个公式来说,每个公式都包含 3-4 个对其他工作表的引用,因此纠正它会花费很长时间。
问题出在我正在对一个范围求和,但每次我在顶部插入新行时,公式都不会引用正确的单元格。试图找出一种方法来编写更好的公式,这样我就不必每次都手动更改行号了。
答案1
此宏将帮助您在工作表中查找和替换公式。
Sub FindReplaceFormula()
Cells.Replace What:="=SUM(Sheet2!A1:A10)", Replacement:= _
"=SUM(INDIRECT("'Sheet2'!"&"A1"):Sheet2!$A$10)", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
您可以根据需要调整公式中的单元格引用。