다시 한번 더 질문드립니다. 피벗테이블의 값이 변화할 때마다 차트 데이터 범위를 메크로를 사용해서 자동으로 넣고싶습니다.
VBA
작성자
iviolin****
작성일
2020-11-20 22:45
조회
624
예전에 질문 했던 내용에서 파일을 수정하다보니 한가지 더 질문할게 있어서 올립니다.
조언해주신 방법으로 거의 다 완성되어 갑니다만 제가 VBA는 아직 잘 몰라서 완전하게 해결하지 못하네요...
(주간 그래프)의 시트에서 시간 슬라이서 밑에 2개의 차트가 있습니다.
위의 그래프는 피벗테이블로 만든 그래프이고 밑의 그래프는 작업용시트2의 AW25셀을 바탕으로 동적범위로 만든 그래프입니다.
그런데 일반 차트에서 차트 데이터 범위를 동적범위로 만들어준 범위를 넣어줘도 바로 일반적인 범위로 바뀌어서 피벗테이블의 내용이 변경되어도 일반 그래프의 범위는 바뀌지 않더라구요...
이것을 VBA로 해결하고 싶습니다.
즉 피벗테이블의 값이 변할때마다 (주간 그래프)시트의 밑에있는 그래프의 차트 데이터 범위를
=OFFSET(작업용2!$AW$25,,,MATCH("*",작업용2!$AW$25:$AW$101,-1),MATCH("*",작업용2!$AW$25:$BB$25,-1))
로 넣어주고 싶습니다.
회사의 엑셀버전은 Microsoft Office Standard 2013 입니다.
또한 외부 인터넷망이 다 차단되어 있어서 파워피벗을 다운받을 수 도 없습니다.
그렇기에 따로 제가 정규화를 진행하고 가공해서 파일을 만드는 중입니다.
VBA로 그래프의 차트 데이터범위를 자동으로 갱신될 수 있도록 하는 매크로를 가르쳐 주시면 감사하겠습니다.
전체 7,420
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚교재 출간 안내] 「진짜쓰는 실무엑셀」 , 드디어 출간되었습니다! (135)
![]() ![]() |
![]() ![]() |
2022.02.03 | 392 | 68708 | ||
공지사항 | 함수/공식 |
[신규 기능 업데이트!] 👉 이제 게시글 작성시 스크린샷 복/붙이 가능합니다! 😎
(2)
오빠두엑셀
|
2022.08.04
|
추천 4
|
조회 725
|
![]() ![]() |
2022.08.04 | 4 | 725 |
공지사항 | 함수/공식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(88)
오빠두엑셀
|
2021.10.28
|
추천 118
|
조회 6459
|
![]() ![]() |
2021.10.28 | 118 | 6459 |
41377 | 파워쿼리/피벗 |
New 파워쿼리 파워피벗으로
(1)
![]() |
![]() |
2022.08.19 | - | 14 |
41373 | 함수/공식 |
New MATCH 함수 lookup_array를 lookup_value 조건에 따라 변동하고 싶습니다.
![]() ![]() ![]() |
![]() |
2022.08.19 | - | 28 |
41372 | VBA |
New VBA 유저폼 실행위치 설정방법 (StartUpPosition 제외)
![]() ![]() |
![]() |
2022.08.19 | - | 23 |
41369 | VBA |
New 1개 엑셀파일을 NO1-NO50까지 번호가 자동으로 바뀌면서 출력하는 매크로 출력법문의
![]() ![]() ![]() |
![]() |
2022.08.19 | - | 19 |
41366 | 함수/공식 |
New 연차관리대장 수식 문의드립니다.
![]() ![]() |
![]() |
2022.08.19 | - | 32 |
41364 | 함수/공식 |
New 1개행에서 행삽입후 합계범위 자동수정 하는 법(조건함수 없이)
![]() ![]() ![]() |
![]() |
2022.08.19 | - | 18 |
41362 | 함수/공식 |
New 1개행에서 행삽입후 합계범위 자동수정 하는 법
![]() ![]() |
![]() |
2022.08.19 | - | 31 |
41360 | 파워쿼리/피벗 |
New 금액을 숫자로 바꾸는 방법(예1억5천 -> 150,000,000)
(5)
![]() |
![]() |
2022.08.19 | - | 44 |
41358 | VBA |
New 바코드 스캔, vloopup 으로 값 가져오기
(3)
![]() |
![]() |
2022.08.19 | - | 45 |
41357 | 함수/공식 |
New 행 마지막값 찾아 입력하기
![]() ![]() |
![]() |
2022.08.19 | - | 35 |
41355 | VBA |
New 보이는 셀만 복사 버튼을 따로 빼놓은 매크로 버튼 만들고 싶습니다
(6)
답변완료
![]() |
![]() |
2022.08.19 | - | 34 |
41351 | 함수/공식 |
New 시리얼넘버 자동화
![]() ![]() ![]() |
![]() |
2022.08.19 | - | 35 |
41344 | 함수/공식 |
New 중복값 제거 해서 오름차순 정렬하는 함수가 있을까요??
![]() ![]() ![]() |
![]() |
2022.08.19 | - | 47 |
41341 | 파워쿼리/피벗 |
New 매크로를 이용해서 원하는 데이터만 추출하기
![]() ![]() |
![]() |
2022.08.19 | 1 | 64 |
41337 | 파워쿼리/피벗 |
New 파워쿼리의 새로고침 순서 지정 가능한가요?
(4)
답변완료
![]() |
![]() |
2022.08.18 | - | 36 |
41335 | 함수/공식 |
New 글자 수 초과 텍스트만 분류할 수 있을까요?
![]() ![]() ![]() |
![]() |
2022.08.18 | -1 | 44 |
41334 | 함수/공식 |
New 2가지 조건 일치하는 값 찾기
![]() ![]() |
![]() |
2022.08.18 | - | 48 |
41333 | 파워쿼리/피벗 |
New 매출내역을 일별합계로 변환하는 방법(파워쿼리가 아닌 방식)
![]() ![]() |
![]() |
2022.08.18 | - | 34 |
41331 | 함수/공식 |
New SUMIFS 함수 오류 문의드립니다.
![]() ![]() |
![]() |
2022.08.18 | - | 31 |
41327 | 함수/공식 |
New 파일내용 합치기 방법문의
![]() ![]() |
![]() |
2022.08.18 | - | 38 |
41326 | VBA |
New VBA PDF관련로 저장관련 질문입니다.
![]() ![]() |
![]() |
2022.08.18 | - | 32 |
41325 | 함수/공식 |
New 엑셀 오류 함수 질문
(2)
![]() |
![]() |
2022.08.18 | - | 26 |
41321 | 함수/공식 |
New SUMPRODUCT, COUNTIF 오류 - 다중 조건을 만족하는 갯수 구하기
![]() ![]() |
![]() |
2022.08.18 | - | 28 |
41319 | 함수/공식 |
New 엑셀 if함수? ifs함수? 와 같은 조건함수가 궁금합니다.
(5)
답변완료
![]() |
![]() |
2022.08.18 | - | 37 |
41316 | 피벗테이블 |
New 1. 피벗테이블에서 가공 VS ROW DATA 에서 가공 후 피벗테이블
![]() ![]() |
![]() |
2022.08.18 | - | 29 |
41314 | VBA |
New public sub로 바꿔도 시트1에서 시트2 함수 호출이 안됩니다.
(3)
답변완료
![]() |
![]() |
2022.08.18 | - | 35 |
41304 | 함수/공식 |
New 부동호가 들어갔을경우 countif 방법이 궁금합니다.
![]() ![]() |
![]() |
2022.08.18 | - | 57 |
41302 | 파워쿼리/피벗 |
New 다른 PC에서 웹 콘텐츠를 가져오려면 자격증명이 필요하다고 합니다. 해결방법을..
(2)
![]() |
![]() |
2022.08.18 | - | 40 |
41300 | 파워쿼리/피벗 |
New 이 자료도 정규화 할 수 있을까요?
![]() ![]() |
![]() |
2022.08.18 | - | 55 |
41295 | 차트/그래프 |
New 데이터레이블 글꼴크기 조절 가능할까요ㅠㅠ
![]() ![]() |
![]() |
2022.08.17 | - | 29 |
@iviolin**** 님 안녕하세요.
더 정확한 답변을 드리기 위해 한가지 더 확인이 필요해보입니다.
차트 데이터 범위를 갱신한다는 것이,
1안, 기존의 데이터 범위에서 새롭게 데이터가 추가된 범위(=확장된 범위)로 갱신하는 건가요?
2안, 기존의 데이터 범위에서 벗어나 다른 새로운 범위(예: A열 -> B열로 이동) 하는 것인가요?
두 방법 모두 VBA없이 구현은 가능합니다만 2안은 함수로만 구현할 경우 데이터가 많을시 처리속도 문제가 발생할 수 있습니다.
만약 1안 이시라면, 아래 강의를 참고하시면 도움이 될 듯 하구요.. (차트의 동적범위는 각 항목별로 따로 지정해주셔야 합니다)
엑셀 동적차트 기초부터 고급 응용까지 :: 실전 예제 총정리
만약 2안이라면 VBA 매크로 녹화기능을 사용해서 변경하고자 하는 개체/함수를 확인하신 뒤 작업하시면 좋지 않을까 생각됩니다.
차트는 안에 포함된 개체가 매우 많고 각 개체별로 속성/함수도 다양한 관계로, 정확한 답변을 콕 찝어서 드리기가 어려운 부분이 있습니다. 또는 구글에 vba change chart data range 검색해서 관련 stack overflow 글을 확인하시는 것도 도움이 될 듯 합니다.^^
답변이 도움이 되셨길 바랍니다.
@오빠두엑셀 님 1안의 내용이지만 조금 다릅니다.
이미 동적범위로 이름관리자에 만들어 놨습니다. 동적범위로 만든 범위의 이름은 그래프 범위입니다.
슬라이서에서 2개를 선택하든 5개를 선택하든 그에 따른 값이 AW25셀쪽에 나타나게 해두었고 또한 동적범위를 사용해서 그 변하는 범위가 전부 포함되게 이름관리자의 수식을 만들어 놨습니다.
슬라이서의 선택량에 따라 작업용2시트의 AW25셀의 가로축 레이블의 크기가 달라지기에 강의내용을 쓸 수 없습니다.
그렇기에 차트 데이터 범위를 미리 이름관리자에 만들어 둔 "그래프 범위"라는 동적범위로 슬라이서의 값이 변화될 때마다 갱신하고 싶습니다.
슬라이서에서 고구마깡, 썬칩, 치토스와 같이 다중선택을 해도 그래프가 나올 수 있게 동적 범위를 만들었지만 차트데이터범위를 메크로로 넣는 방법을 모르겠네요 부탁드립니다.
@iviolin**** 님 안녕하세요.
차트 데이터 범위를 VBA로 넣으시려면 아래 링크를 참고해보세요.
https://docs.microsoft.com/en-us/office/vba/api/excel.chart.setsourcedata
실제 사용 예제는 아래 StackOverFlow 예제를 참고하시면 도움이 될 듯 합니다.
https://stackoverflow.com/questions/19285577/vba-modify-chart-data-range
4번째 답변을 참고해보세요. 답변이 도움이 되셨길 바랍니다.
@오빠두엑셀 님 감사합니다 올려주신 내용을 토대로 VBA를 만들어서 제가 원하는 최종 파일을 만드는데 성공했습니다.
완성된 파일도 올려둘께요.
많이 질문했었는데 좋은 답변해주셔서 감사합니다.
첨부파일 : 주간-과자-수출수입량-그래프-완성.xlsm