2013-09-06 2 views
0

글쎄 레이블 조건에 따라 그래프의 색을 변경하려고합니다.축 레이블을 기반으로 클러스터 된 막대 그래프의 색 변경

우선 그래프는 다음과 같습니다. Graph Picture

세 가지 조건에 따라 값을 변경하려고했습니다. 경고, 긴급 및 긴급. 기본적으로 각각의 조건에 대해 3 가지 색상이 있습니다. 예를 들어, 모든 긴급 상황은 빨간색으로, 모든 위험은 주황색이며 모든 경고는 노란색으로 표시됩니다. 필자의 경우 "제목"은 x 축이고 "중요성"은 클러스터입니다.

은 내가이 스레드 Changing Bar colors using VBA based on category label

내가 두 스레드에서 코드를 사용하려고 시도하는 어떤 운이를 havent 보았다 excel vba changing bar chart color for a data point based on point value

스레드 다음 시도했다.

두 번째 스레드의이 코드는 실제로 제 경우에 사용할 수 있도록 만들어졌습니다.

Dim c As Chart 
Dim s As Series 
Dim iPoint As Long 
Dim nPoint As Long 

Set c = ActiveChart 
Set s = c.SeriesCollection(1) 

nPoint = s.Points.Count 
For iPoint = 1 To nPoint 
    If s.XValues(iPoint) = "avg" Then 
     s.Points(iPoint).Interior.Color = RGB(255, 0, 0) 
    End If 
Next iPoint 

그러나 어떤 변수를 변경해야하는지 확실하지 않습니다. 어떤 도움을 환영합니다!

감사합니다.

+1

이 왜 [이 ...] 같은 것을 (하지 않는 매크로 전문가 http://www.k2e.com/tech-update/tips/ 341- 만들기 - 엑셀 - 차트 - 조건부 서식 지정) – Vasim

+0

도움이 될만한 몇 가지 자습서가 있습니다 : [Excel 차트의 조건부 서식] (https://peltiertech.com/conditional-formatting-of-excel- 차트 /) 및 [카테고리 라벨 별 VBA 조건부 서식] (https://peltiertech.com/vba-conditional-formatting-of-charts-by-category-label/)을 참조하십시오. 두 열 (또는 행) 레이블 집합이 있으므로 VBA 접근 방식은 좀 더 복잡합니다. –

답변

2

s.XValues ​​(iPoint)에는 제목과 중요도가 연결됩니다. 변경 시도 :

If s.XValues(iPoint) = "avg" 

에 :

If right(s.XValues(iPoint), 9) = "Emergency" 

이 방법으로 라벨의 마지막 9 개 문자가 정확히 '비상'하는 경우가 확인합니다.

코드를 수정하여 위험 또는 경고에 대한 다른 조건을 추가 할 수 있어야합니다.

희망이 도움이,

+0

감사합니다 @ TheMacroGuru. 그게 도움이 :) – Navyseal

관련 문제