將絕對引用轉換為相對/間接引用的方法?

將絕對引用轉換為相對/間接引用的方法?

是否有任何人都知道的方法或巨集可以將公式更改為間接公式?

例如,目前我的工作表上的所有公式都寫成:

=SUM(Sheet2!A1:A10),有沒有辦法快速將其更改為INDIRECT如下函數:

=SUM(INDIRECT("'Sheet2'!"&"A1"):Sheet2!$A$10)

對於一個公式來說,更改它並不難,但對於數百個公式(每個公式包含 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

您可以根據需要調整公式中的儲存格參考。

相關內容