Excel 문서에서 수행해야 하는 기계적 작업의 양을 줄이려고 합니다. 여기에는 매월 하나의 워크시트와 1년 전체를 요약하는 워크시트로 구성된 13개의 워크시트가 있습니다. 모든 워크시트에는 일부 데이터와 그래프가 있습니다. 두 개의 열을 가져와 그리는 그래프를 만들고 싶습니다. 그런 다음 그래프를 복사하여 동일한 열의 데이터를 가져오는 다음 페이지에 붙여넣고 싶습니다. 문제는 그래프를 만들 때 다음 범위를 쓴다는 것입니다.
='02.2016 Д2'!$A$2:$A$30,'02.2016 Д2'!$C$2:$C$30
그래서 다음 워크시트에 복사해도 이전 워크시트의 데이터가 계속 사용됩니다. 여기저기 돌아다니며 하나씩 수정하겠지만 13개의 워크시트 * 8개의 그래프가 있고 더 간단한 방법이 있다고 믿고 싶습니다.
답변1
먼저 나쁜 소식:Excel 차트에서는 상대 참조를 사용할 수 없습니다. 특정 시트를 가리켜야 하며 모든 곳에 '$'가 있어야 합니다.
가장 좋은 아이디어는차트 대신 시트 복사. 차트가 동일한 시트의 데이터를 가리키는 경우 Excel은 참조를 조정합니다. 그런 다음 각 시트에 적절한 데이터를 입력하기만 하면 됩니다.
저는 매일 그런 일을 하는데 최적의 작업 흐름은 다음과 같습니다.
1) 한 달 동안 원하는 시트를 만들어 보세요.
2) 시트에 종속된 모든 것을 매개변수화하고 데이터를 별도의 시트에 넣습니다. 아이디어는 각 시트*에서 1개의 셀만 수동으로 변경하는 것입니다.
3) 시트를 복사하고 매개변수를 변경합니다. 끝. :)
이는 또한 적절한 시트 디자인과도 일치합니다. 즉, 데이터와 분석을 분리하고 전자를 가능한 가장 압축된 형식으로 합니다(예: 모든 항목에 대해 단일 테이블 :)).
*) 실제로 시트 이름을 사용할 수 있지만 일반적으로 권장되지 않습니다.
어떤 이유로든 위의 해결 방법이 허용되지 않는 경우 VBA를 사용하여 시트의 소스 참조를 바꿀 수 있습니다. 지침은 간단합니다.
refChart.SetSourceData Source:=Range("A1:C4")
하지만 선택한 시트를 반복하고 적절한 범위를 할당하는 것은 까다로울 수 있습니다.