Как я могу установить цвет одного столбца на графике прозрачным? - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь автоматически печатать несколько графиков c, но я не понимаю, как сделать цвет только одной полосы прозрачным. Я использовал Array (RGB (x, y, z)), чтобы установить цвета других полос.


Dim Srs As Series

    Dim vColor
    Dim i As Integer

    vColor = Array(RGB(255, 255, 255), RGB(214, 212, 221), RGB(155, 153, 172), RGB(255, 71, 19))


    With Cht
        .ChartType = xlColumnStacked
        .HasLegend = False
        .HasTitle = True
        .ChartTitle.Text = Target.Value
        .ChartTitle.Font.Size = 11
        .ChartTitle.Font.Bold = True
        .ChartTitle.Font.Name = "BLK Fort"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "OCF Percentiles"
        .Axes(xlValue).MajorUnit = 50
        For Each Srs In .SeriesCollection
            Srs.Delete
        Next Srs

        For i = 0 To 2
            Set Srs = .SeriesCollection.NewSeries
            With Srs
                .Values = Target.Offset(0, 1).Resize(3).Offset(0, i)
                .XValues = Array("A", "D", "I")
                .Format.Fill.ForeColor.RGB = vColor(i)
            End With


        Next i
        Set Srs = .SeriesCollection.NewSeries
        With Srs
            .ChartType = xlXYScatter
            .Values = Target.Offset(0, 4).Resize(1, 3)
            .MarkerStyle = xlMarkerStyleCircle
            .MarkerSize = 6
            .MarkerBackgroundColor = vColor(3) ' red
        End With
    End With
End Sub 

это вывод, но я хочу, чтобы пустая полоса была прозрачной.

enter image description here

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете настроить прозрачность первой коллекции.

   For i = 0 To 2
        Set Srs = .SeriesCollection.NewSeries
        With Srs
            .Values = Target.Offset(0, 1).Resize(3).Offset(0, i)
            .XValues = Array("A", "D", "I")
            .Format.Fill.ForeColor.RGB = vColor(i)
            If i = 0 Then
                .Format.Fill.Transparency = 1 '<~~~~~ Transparency was adjusted
            End If
        End With
    Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...