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

Excel & VBA---Brain Training


Pivot테이블문제를 하다 보니 연관하여 챠트가 안나올수가 없다
그래서 구분을 하기 위하여 챠트의 기본적인 부분을 이곳에 추가한다
이것을 풀고 Pivot테이블문제를 푸는 것이 좋을 것이다
Pivot을 보고싶은 방법으로 구현하기 위한 ProtoType를 아래의 차트의 내용을
활용하면 되니까...

Chart개체는 시트에 직접 붙어 있지 않는다
ChartObject라는 개체가 있고 그 곳에 들어가 앉아 있는 녀석이 Chart개체이다
아래의 구문을 실행하면

Sub CreateSample() Dim shtX As Worksheet Dim rStart As Range Set rStart = Worksheets.Add.Range("C3") With rStart Set shtX = .Parent .Offset(, 1).Resize(, 6) = _ Array("A", "B", "C", "D", "E", "F") .Offset(1).Resize(5) = _ Application.Transpose( _ Array("AAA", "BBB", "CCC", "DDD", "EEE")) With .Offset(1, 1).Resize(5, 6) .Formula = "=INT(RAND()*100)+10" .Value = .Value With .CurrentRegion .Borders(xlInsideHorizontal).LineStyle = xlSolid .Borders(xlInsideVertical).LineStyle = xlSolid .BorderAround xlSolid End With End With End With Dim oChart As Chart Dim oChartObj As ChartObject Dim rChartStart As Range Set rChartStart = rStart.Offset(9, 1) Set oChartObj = shtX.ChartObjects.Add( _ rChartStart.Left + 20, rChartStart.Top, 300, 200) With rChartStart.Offset(, -1) .Validation.Add xlValidateList, , , "AAA,BBB,CCC,DDD,EEE" .Select End With With shtX.Cells.Font .Name = "맑은 고딕" .Size = 11 ActiveWindow.DisplayGridlines = False End With End Sub

아래와 같이 테이블이 하나 만들어지고 텅빈 ChartObject가 하나
시트에 만들어 지고 유효성검사의 목록이 하나 만들어졌다



문제는 이 목록을 선택하면 해당 정보계열만 챠트에 구현되게 하기

ChartObject는 하는일이 없다..
그냥 Chart개체를 담아주는 그릇역할을 할 뿐이다
위의 빈탕속에 Chart개체를 넣고 관련정보를 연결해 보시는 것이 문제다..
그것도 목록에서 정보가 바뀔때마다 해당 정보로 업데이팅이 되어야 겠지..

또하나 이 문제를 통하여 숙달될수 있는 것은
이런 의미이 있을 것이다
위의 코드를 실행시키면서 위와 같이 만들어졌다면 ..
유효성목록상자의 값을 바꾸면
시트의 Change이벤트가 발생할텐데..그렇다면 위의 코드를 실행할때마다
Change이벤트를 새로 만들어진 시트의 모듈시트에 작성하여야 하지않을까???
하는 의문이 생긴다면 VBA섭렵의 중요한 고비는 다 넘기신 분이다
만약 그런 의문조차생기지 않는다면..ABC부터 다시 하여야 한다
이벤트프로시져의 활용에 대한 확실한 개념이 잡히시지 않은 것이니까..!!!
중요한 문제이니 꼭 풀어 보시기를..


위의 코드에 아래와 같이 추가한다
1)시트의 이름을 상수로 정하여 항상 똑같이 하여준다
2)유효성목록셀이나 테이블에 정해진 이름을 지어준다
3)시트의 이벤트프로시져가 아닌 통합문서의 이벤트프로시져에서 해당시트를 통제한다
4)프로시져에서 유효한 시트가 확인되면 해당테이블에 접근하여
5)유효성목록에서 선택된 항목을 찾는다
6)값축정보와 항목축정보를 아래의 그림과같이 찾아서(색상표시)
7)선택될때마다 식별하기 좋게 색상을 표현한다
7)챠트의 메소드에 전달한다




활용하여야 할 개체와 개념들--------------

ChartObject
Chart
SetSourceData
ChartType
Union
Chart의 계열에 대한 개념
통합문서레벨에서의 이벤트의 활용
Naming
Validation


BrainTraining_039_1_Chart_.