차트의 양수 및 음수 색상 (Microsoft Excel)
Merril은 선이 음수 값을 나타낼 때 선이 음수가되는 지점에서 선의 색이 변경되도록 선 차트를 만드는 방법이 있는지 물었습니다. 예를 들어, 특정 데이터 시리즈에서 선이 양수 값을 나타내는 한 파란색이되지만 선이 음수 값을 나타내면 빨간색으로 변경됩니다.
안타깝게도 Excel에서이 작업을 쉽게 수행 할 수있는 방법이 없습니다. 그러나 시도 할 수있는 몇 가지 해결 방법이 있습니다. 첫 번째는 매크로를 사용하여 음수 값을 나타내는 차트 선의 선 색상을 변경하는 것입니다. 다음 매크로는 이러한 접근 방식의 예입니다.
Sub PosNegLine() Dim chtSeries As Series Dim SeriesNum As Integer Dim SeriesColor As Integer Dim MyChart As Chart Dim R As Range Dim i As Integer Dim LineColor As Integer Dim PosColor As Integer Dim NegColor As Integer Dim LastPtColor As Integer Dim CurrPtColor As Integer PosColor = 4 'Green NegColor = 3 'red SeriesNum = 1 Set MyChart = ActiveSheet.ChartObjects(1).Chart Set chtSeries = MyChart.SeriesCollection(SeriesNum) Set R = GetChartRange(MyChart, 1, "Values") For i = 2 To R.Cells.Count LastPtColor = IIf(R.Cells(i - 1).Value < 0, NegColor, PosColor) CurrPtColor = IIf(R.Cells(i).Value < 0, NegColor, PosColor) If LastPtColor = CurrPtColor Then LineColor = LastPtColor Else If Abs(R.Cells(i - 1).Value) > Abs(R.Cells(i).Value) Then LineColor = LastPtColor Else LineColor = CurrPtColor End If End If chtSeries.Points(i).Border.ColorIndex = LineColor Next i End Sub
Function GetChartRange(Ch As Chart, Ser As Integer, _ ValXorY As String) As Range Dim SeriesFormula As String Dim ListSep As String * 1 Dim Pos As Integer Dim LSeps() As Integer Dim Txt As String Dim i As Integer Set GetChartRange = Nothing On Error Resume Next SeriesFormula = Ch.SeriesCollection(Ser).Formula ListSep = "," For i = 1 To Len(SeriesFormula) If Mid$(SeriesFormula, i, 1) = ListSep Then Pos = Pos + 1 ReDim Preserve LSeps(Pos) LSeps(Pos) = i End If Next i If UCase(ValXorY) = "XVALUES" Then Txt = Mid$(SeriesFormula, LSeps(1) + 1, LSeps(2) - LSeps(1) - 1) Set GetChartRange = Range(Txt) End If If UCase(ValXorY) = "VALUES" Then Txt = Mid$(SeriesFormula, LSeps(2) + 1, LSeps(3) - LSeps(2) - 1) Set GetChartRange = Range(Txt) End If End Function
차트를 선택한 다음 PosNegLine 매크로를 실행하면 차트를 살펴보고 음수 데이터 포인트 값 사이의 선분에 대해 선 색상을 빨간색으로 변경합니다. 양의 데이터 포인트를 연결하는 선분의 경우 선 색상이 녹색으로 설정됩니다.
이 솔루션의 문제점은 근사값 만 제공한다는 것입니다. 두 데이터 포인트를 연결하는 선에서만 작동하며 전체 선분을 변경하거나 변경하지 않을 수 있습니다. 시작 데이터 포인트가 양수이고 종료 데이터 포인트가 음수이면 음수 값으로 전달 될 때 바로 선의 색상을 변경할 수 없습니다.
또 다른 접근 방식은 데이터 포인트가 양수인지 음수인지에 따라 다른 색상이나 모양으로 서식을 지정하는 것입니다. 이를 수행하는 방법은 Jon Peltier의 웹 사이트에 자세히 나와 있습니다.
http://www.peltiertech.com/Excel/Charts/ConditionalChart1.html
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (1999)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Positive_and_Negative_Colors_in_a_Chart [차트의 양수 및 음수 색상]
.