Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

Chart|Update Chart On Selection_Change|CurrentRegion|Intersect|Union|Resize|Offset|
|SetSourceData|PlotBy|Chart.Shapes|Format()|
|Application.Sum|Borders|

수식을 활용한 자동화와 VB를 사용한 자동화

수식을 잘 사용하고 챠트의 성질을 잘알면
VBA없이도 곧잘 자동화를 할수 있다
그런 분들은 또한..이렇게 잘 되는데 뭔~!@골싸메고
VBA를 한다는지..모르겠다!!!
라고 하시는 분들도 계시다
아래와 같은 경우 수식과 엑셀의 이런 저런 기능을 조합하여
자동화된것이다



이것은
데이타/유효성검사를 이용하여 목록을 만들고
OFFSET함수를 이용한 수식으로 동적으로 범위에 접근하고
이 수식에 이름을 붙여 주고
이 이름을 챠트의 Series함수 수식에 넣어 준다
조건부서식을 사용하여 테이블의 현재범위에 색상을 주고
도형을 수식과 연결하여 챠트의 Title대신에 붙이고
그러면 그럴듯한 자동화가 된다

그런데 왜 아까운 시간허비하면서 VBA를 배우려 하나??
좀더 자동화표현을 쎄련되고 수식이나 기본기능으로 표현이
불가능한것을 구현하기 위함이고 아무튼 좀 더 잘하기 위함이다
아래와 같이 VBA없이 표현이 가능하다면 배우지 않아도 된다



VBA자동화의 경우는
범위의 SelectionChange이벤트를 활용하고
각종 범위에 접근하는 Range오브젝트의 각종 속성을 사용하고
그리고 Chart오브젝트의 필요한 속성에 값을 적절히 전달하면 된다
그리고 행과 열이 바뀌였을때
챠트의 어떤 속성의 값을 어떻게 바꿔주면 될것인가를
알면 되는것이다
몇줄의 코드만 작성할줄 안다면
엑셀을 최대한 자~알 활용하는 것이다
특히 행머리를 선택할때와 열머리를 선택할때
두가지의 시각을 하나의 챠트를 볼수 있다는 점!!
편리하지 않은가??!!
프로그래밍을 할때는 과연 어떤 정보를 어디에 전달할것인가?
를 잘 궁리하는것이 중요하다
아래의 그림과 같이 개략적인 정보의 흐름의 개념을
잡고 코딩에 들어가면 된다



아래의 화일에는

  • VBA자동화없이 자동화챠트만들기
  • 범위를 선택함에 따라 자동 업데이트되는 VBA자동화
  • 항목축과 값축의 개념을 잘 이해해야 챠트자동화를 한다
  • 범위의 값을 챠트의 어떤 오브젝트에게 전달할것인가?


Chart Automation On SelectionChange.