Vba 根据单元格值更改饼图上颜色的颜色
您好,刚刚开始使用VBA excel-有没有一种方法可以根据不直接输入饼图的值为饼图的各个部分着色? 我的示例数据如下所示:Vba 根据单元格值更改饼图上颜色的颜色,vba,excel,Vba,Excel,您好,刚刚开始使用VBA excel-有没有一种方法可以根据不直接输入饼图的值为饼图的各个部分着色? 我的示例数据如下所示: Steps % Complete Status Step1 100% B (Blue) Step2 50% R (Red) Step3 30% G (Green) Step
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
看看这是否对你有帮助:谢谢你的彩色图表()!