指定 MS Access 直方图中的列颜色

问题描述 投票:0回答:1

我有一个动态直方图(柱形图),使用 Access 中的现代图表对象,运行良好。但是,随着用户使用表单右上角的组合框选择的每个系列,列的内部颜色会有所不同。(参见下图)。 图1. 图2.

根据我的研究,我可以使用 VBA for Access 中提供的格式选项来控制的内容存在很大的限制。 Microsoft 的支持站点列出了图表对象的一个名为

ChartSeries
的属性,而该属性又具有
FillColor
属性。使用的语法是:
*expressions*.ChartSeries.FillColor
其中表达式表示图表对象。当我尝试使用这些属性时,收到“运行时错误 438:对象不支持该属性或方法”。对于声明
.ChartSeries.FillColor = lngBlue
。 我的代码如下。

Private Sub cbo_ShipType_Change()

    Dim strSQL As String, cht As Chart, lngBlack As Long, lngBlue As Long
    
    lngBlack = RGB(0, 0, 0)
    lngBlue = RGB(0, 0, 256)
    
    Set cht = Me.cht_ShipType
    strSQL = "SELECT tbl_ChartData.[YR], " & cbo_ShipType & " FROM tbl_ChartData"
    cht.RowSource = strSQL
    With cht
        .ChartTitle = cbo_ShipType & " Fleet Size"
        .PrimaryValuesAxisFontSize = 14
        .PrimaryValuesAxisFontColor = lngBlack
        .CategoryAxisFontSize = 12
        .CategoryAxisFontColor = lngBlack
        .ChartSeries.FillColor = lngBlue
        .Requery
    End With

End Sub

有谁知道我是否或如何调整数据系列列的颜色?

vba ms-access graph charts
1个回答
0
投票

首先,在 VBA 编辑器中,转到“工具”-->“引用”,然后添加

Microsoft Office 16.0 对象库

Microsoft Excel 16.0 对象库

这将启用接下来将使用的

seriesCollection
命令:

Dim grphChart As Object
Dim j As Integer

Set grphChart = Me.cht_ShipType 

For j = 1 To grphChart.seriesCollection.Count

    With grphChart.seriesCollection(j)

        'Set the color
        .Interior.Color = vbBlue 'RGB(0, 0, 256)

        'Bar border color
        '.Border.Color = vbBlue 'RGB(0, 0, 256)
    End With

Next j

更多信息请参见链接 1链接 2

© www.soinside.com 2019 - 2024. All rights reserved.