![시트 및 셀 참조 복사](https://rvso.com/image/1692549/%EC%8B%9C%ED%8A%B8%20%EB%B0%8F%20%EC%85%80%20%EC%B0%B8%EC%A1%B0%20%EB%B3%B5%EC%82%AC.png)
동일한 통합 문서 내에 "시트 A"와 "시트 B"가 있다고 가정해 보겠습니다.
시트 B에는 시트 "A"를 참조하는 셀이 있습니다. 즉 ='시트 A'!Q20
동일한 통합 문서에서 시트 B를 복사하고 "시트 C"를 만들고 싶고 시트 C의 셀 참조(='시트 A'!Q20)가 이제 시트 B를 참조하도록 하려고 합니다. 즉 ='시트 B'!Q20.
시트 B를 복사하고 시트 C를 생성해도 셀 참조는 여전히 ='시트 A'!Q20입니다.
비슷한 문제에 대한 해결책을 본 적이 있지만 동일한 통합 문서 내에서 시트를 복사할 때는 그렇지 않았습니다.
티아
답변1
답변2
ofs
현재 워크시트에서 위치가 이동된 워크시트의 이름을 반환하는 단순 UDF를 정의할 수도 있습니다 .
Function sh(ofs As Long) As String
Dim cw As Long
cw = Application.Caller.Parent.Index
sh = Worksheets(cw + ofs).Name
End Function
이전 워크시트의 이름은 이고 sh(-1)
다음 워크시트의 이름은 입니다 sh(1)
. 이제 수식을 사용하여 이전 워크시트의
셀을 참조할 수 있습니다 .Q20
=INDIRECT("'"&sh(-1)&"'!Q20")
또는
=INDIRECT(ADDRESS(20,17,,,sh(-1)))