
수식을 간접적인 수식으로 변경할 수 있는 방법이나 매크로가 있습니까?
예를 들어 현재 내 시트의 모든 수식은 다음과 같이 작성됩니다.
=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
필요에 따라 수식에서 셀 참조를 조정할 수 있습니다.