2011-12-13 3 views
1

막대 그래프의 색을 바꿀 수 있지만 작동하지 않는 코드가 있습니다. 누구든지 내가 코드에서 잘못하고있는 것을 나에게 제안 할 수 있습니까?막 대형 차트의 막대 색상 변경

With ActiveChart.SeriesCollection(1).Interior.Color = RGB(0, 153, 64) 
End With 

이 코드는 막대의 색상에 영향을주지 않습니다.

또한 모든 막대 (0에서 200까지의 값을 나타냄)에 대해 하나의 색상 (녹색)을 원하지만 두 개의 막대 (100 및 200)를 나타내는 막대 2 개에 대해 다른 색상을 추가하고 싶습니다. 아무도 VBA와 함께하는 방법을 말해 줄 수 있습니까. 같은 시간에 대해 감사드립니다.

고마워요.

답변

2

With 문은 실행될 개체 또는 속성을 지정합니다. 귀하의 코드는 다음과 같아야합니다

With ActiveChart.SeriesCollection(1) 
    .Interior.Color = RGB(0, 153, 64) 
End With 

편집 - 귀하의 질문의 두 번째의 경우 :

Sub ColorBars() 
Dim chtSeries As Excel.Series 
Dim i As Long 

For Each chtSeries In ActiveChart.SeriesCollection 
    With chtSeries 
     For i = 1 To .Points.Count 
      If .Values(i) = 100 Or .Values(i) = 200 Then 
       .Points(i).Interior.Color = .Interior.Color = RGB(75, 172, 198) 
      Else 
       .Points(i).Interior.Color = RGB(0, 153, 64) 
      End If 
     Next i 
    End With 
Next chtSeries 
End Sub 
+0

안녕 더그, 응답 주셔서 감사합니다. 첫번째 부분은 환상적 이었지만 두 번째 부분은 나에게 오류를주고있다. "런타임 오류 '451': 프로퍼티가 프로 시저가 정의되지 않았고 프로퍼티 얻기 프로 시저가 개체를 반환하지 않았습니다." – Nupur

+0

코드를 실행하기 전에 차트가 선택되어 있는지 확인하십시오. –

관련 문제