2017-03-14 1 views
0

누적 막대 그래프에서 서로 다른 요소의 타이밍을 쌓아서 작업 요소를 표시하는 Excel에서 Yamazumi 차트를 만들려고합니다. 나는 지금 얻고있는 무지개 색 대신에 레이블을 기반으로 색칠 할 수 있기를 원합니다. 예를 들어 VA가있는 경우 VA의 모든 요소를 ​​그래프에서 녹색으로 표시하고 싶습니다. 이것은 Excel의 데이터 예입니다. 나는이 VBA 코드를 시도했지만 작동하지 않는 것 도보 및로드 카트 NVA 6.35 Excel DataExcel 누적 막대 차트 레이블에 따라 다른 색상

Excel Data

. VBA에서 변수를 사용하는 방법을 완전히 이해하지 못할 수도 있습니다. 특히 seriesArray 변수에서 오류가 발생했습니다. 어떤 도움을 주시면 감사하겠습니다. '코드'하위 color_chart()

Dim pointIterator As Integer, _ 
    seriesArray() As Variant 

seriesArray = Worksheets("Chart1").ChartObjects(1).Chart.SeriesCollection(1).Values 

    For pointIterator = 1 To UBound(seriesArray) 

     If InStr(seriesArray(pointIterator), "VA") > 0 Then 
      ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _ 
      Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _ 
      RGB(0, 255, 0) 
     ElseIf InStr(seriesArray(pointIterator), "NVA") > 0 Then 
      ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _ 
      Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _ 
      RGB(255, 0, 0) 
     Else 
      ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator). _ 
      Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _ 
      RGB(235, 235, 235) 
     End If 

Next pointIterator 

최종 서브 '코드'지금까지 내가 일반적으로 직면 할 때 두 가지 선택이 알고

+1

나는 당신이 색상을, 당신의 일련의 루프 일부 VBA 코드를 작성 이름을 읽고, 변경해야 할 것 같아요. 이것은 시작하는 데 도움이 될 수 있습니다 : http://stackoverflow.com/questions/40427112/excel-vba-choosing-chart-color-based-on-series-value-comparison – Adam

+0

당신은 분명히 여기에 어떤 VBA 마술이 필요할 것입니다. – Taosique

답변

1

:

  • 새로운 '가상'확인 차트를 추가하고 데이터에 해당하지 않는 공백이있는 곳을 클릭하십시오. 조회 기능 (예 : index/match)을 사용하여 카테고리 ('NVA', 'VA', 'Wate')에 해당하는 추가 열을 생성하십시오.

    =IF(B2="NVA",C2,"") 
    

    을 서로 열에 대해 "NVA"를 대체 : 데이터 스크린 샷은 열 A, B, C 및 D에 경우에 따라서, 열 E에 수식을 추가합니다. 불행히도 시리즈를 처리하는 다른 방법 때문에 원하는 방식으로 선택한 그래프 유형 (누적 막대)에 대해 작동하지 않는 것 같습니다. 다른 그래프 유형 (here's an example)에서 작동합니다.

  • VBA를 사용하십시오.

    .Chart.SeriesCollection([myseries]).Interior.Color = RGB(155, 187, 89) 
    
관련 문제