Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 根据单元格值更改饼图上颜色的颜色_Vba_Excel - Fatal编程技术网

Vba 根据单元格值更改饼图上颜色的颜色

Vba 根据单元格值更改饼图上颜色的颜色,vba,excel,Vba,Excel,您好,刚刚开始使用VBA excel-有没有一种方法可以根据不直接输入饼图的值为饼图的各个部分着色? 我的示例数据如下所示: Steps % Complete Status Step1 100% B (Blue) Step2 50% R (Red) Step3 30% G (Green) Step

您好,刚刚开始使用VBA excel-有没有一种方法可以根据不直接输入饼图的值为饼图的各个部分着色? 我的示例数据如下所示:

        Steps   % Complete    Status
        Step1         100%          B  (Blue)
        Step2         50%           R  (Red)
        Step3         30%           G  (Green)
        Step4         15%           A  (Yellow)

饼图将仅使用前两列(步骤和完成百分比)生成。但我希望饼图的每个部分都根据状态列着色。

首先使用vba设置条件格式,根据状态列表示的颜色为每个图表输入单元格(%Complete column)着色(如果状态为“R”,则%Complete column Red)-下面的示例
**注意-常规条件格式将不起作用

Dim status_value As Range
Set status_value = Sheets("Sheet 1").Cells(20, 3) - 
    If mycell.Value = "B" Then
        mycell2.Interior.color = RGB(0, 112, 192) 'Blue
    ElseIf mycell.Value = "R" Then
        mycell2.Interior.color = RGB(255, 0, 0) ' Red
    ElseIf mycell.Value = "A" Then
        mycell2.Interior.color = RGB(255, 192, 0) 'Amber
    ElseIf mycell.Value = "G" Then
        mycell2.Interior.color = RGB(0, 176, 80) ' Green
    ElseIf mycell.Value = "NA" Then
        mycell2.Interior.color = RGB(166, 166, 166) 'Grey
    End If
下面的代码将根据提供图表值的单元格的内部颜色为图表着色

Sub ColorCharts()
        For Each ch In ActiveSheet.ChartObjects
            For Each ser In ch.Chart.SeriesCollection
            s = Split(ser.Formula, ",")
                For i = 1 To UBound(ser.Values)
                    ser.Points(i).Interior.color = Range(s(2)).Cells(i).Interior.color
                Next i
            Next ser
        Next ch
        End Sub
看看这是否对你有帮助:谢谢你的彩色图表()!