我需要帮助在 Excel 中创建包含 33 个部分的饼图。我相信需要 VBA,因为我想要以下格式。任何想法将不胜感激。 对于每件作品,根据单元格的值,我希望它是绿色(没有问题)、红色(需要)或黄色(机会) 例如, 标识符 # 结果 1 没问题 2 机会 3 需要 ... 33
感谢您的帮助!
我创建了一个常规饼图,但是,必须单独更改每个切片的颜色有点乏味。我真的希望切片的颜色能够自动化。
饼图可能不是最佳选择。清楚地标记 33 片并不容易。水平条形图中的标签效果会更好,并且条形图可能会占用更少的空间并且仍然清晰易读。
下面的代码适用于任一图表类型。
Sub ColorByValue()
If Not ActiveChart Is Nothing Then
With ActiveChart
Dim srs As Series
Set srs = .SeriesCollection(1)
Dim vals As Variant
vals = srs.Values
Dim iPt As Long
For iPt = 1 To UBound(vals)
Select Case vals(iPt)
' select your cutoff values and colors
Case Is >= 8
srs.Points(iPt).Format.Fill.ForeColor.RGB = 5287936 ' vbGreen
Case Is <= 3
srs.Points(iPt).Format.Fill.ForeColor.RGB = vbRed
Case Else
srs.Points(iPt).Format.Fill.ForeColor.RGB = 49407 ' vbYellow
End Select
Next
End With
Else
MsgBox "Select a chart to format!", vbExclamation, "No Active Chart"
End If
End Sub