source

Excel VBA 라인 컬러 / 마커 라인 컬러

manycodes 2023. 9. 13. 22:50
반응형

Excel VBA 라인 컬러 / 마커 라인 컬러

엑셀 차트를 수정하기 위해 VBA 코드를 작성하고 있습니다.산점도의 경우 마커 라인 색상과 때로는 연결 라인의 라인 색상을 수정해야 합니다.수동으로 둘 다 할 수 있지만 매크로를 기록하면 결과가 매우 다르더라도 두 동작 모두 같은 코드가 됩니다.

코드에서 선 색상과 마커 선 색상을 구별하는 방법이 있습니까?

이 코드는 내가 마커 라인의 색을 바꾸는 것을 녹음할 때 만들어 졌습니다.

Sub Macro3()
'

    ' Macro3 Macro
    '
    '
        ActiveChart.SeriesCollection(2).Select
        With Selection.Format.Line
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
        End With
    End Sub

이 코드는 내가 마커를 연결하는 선의 색을 바꾸는 것을 녹음할 때 만들어 졌습니다.

Sub Macro4()
'
' Macro4 Macro
'
'
'Change the Line Color
    ActiveChart.SeriesCollection(2).Select
    With Selection.Format.Line
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorAccent1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
    End With
End Sub

연결선의 선 색상은Series.Format.Line.ForeColor. 마커 라인 색상은Series.MarkerForegroundColor. 하지만 적어도 엑셀 2007의 경우 설정에 문제가 있습니다.Series.Format.Line.ForeColor. 예제 참조:

Sub Macro3()
 Dim oChart As Chart
 Dim oSeries As Series

 Set oChart = ActiveChart
 Set oSeries = oChart.SeriesCollection(2)

 oSeries.Format.Line.Weight = 5 'Line.Weigth works ever

 oSeries.Format.Line.Visible = msoFalse 'for Line.ForeColor getting to work we have to cheat something
 oSeries.Format.Line.Visible = msoTrue
 oSeries.Format.Line.ForeColor.RGB = RGB(0, 255, 0) 'now it works

 oSeries.MarkerSize = 15
 oSeries.MarkerBackgroundColor = RGB(255, 0, 0) 'marker background

 oSeries.MarkerForegroundColor = RGB(0, 0, 255) 'marker foreground (lines around)
End Sub

활성 차트는 산점도입니다.그리고 이것은 Excel 2007으로 테스트 되었습니다.

Excel 2013부터는 라인 색상과 마커 라인 색상을 구분하기 쉬우며, 라인 색상은 를 사용하여 설정됩니다.마커 색상은 다음을 사용하여 설정되는 동안 테두리 속성.마커 배경색 및 .MarkerForegroundColor 특성입니다.

따라서 다음은 빨간색 테두리와 검은색 연결선이 있는 흰색 마커를 제공합니다.

ActiveChart.SeriesCollection(1).Select
With Selection
    .Border.LineStyle = xlContinuous
    .Border.Color = RGB(0,0,0)
    .MarkerBackgroundColor = RGB(255, 255, 255)
    .MarkerForegroundColor = RGB(255, 0, 0)
End With

NB: Selection을 활용하는 경우.포맷.Line.Weight, 기본적으로 테두리와 연결선 두께 모두에 적용됩니다.

당신은 사용할 수 있습니다.

ActiveChart.SeriesCollection(1).MarkerForegroundColor = -2

언급URL : https://stackoverflow.com/questions/29675485/excel-vba-line-color-marker-line-color

반응형