Vba 基于轴标签更改聚集条形图的颜色

Vba 基于轴标签更改聚集条形图的颜色,vba,excel,excel-2013,Vba,Excel,Excel 2013,我正在尝试根据标签条件更改图形的颜色 首先,这是图表的样子。 我试图根据三个条件更改值。警告、危急和紧急情况。基本上每个条件有三种不同的颜色。例如,所有紧急情况均为红色,所有紧急情况均为橙色,所有警告均为黄色。在我的例子中,“Title”是x轴,“criticality”恰好是集群 我试着跟着线索走 我还看了这条线 我在尝试使用这两个线程中的代码时没有任何运气 第二个线程中的这段代码实际上对我来说是有意义的 Dim c As Chart Dim s As Series Dim iPoint

我正在尝试根据标签条件更改图形的颜色

首先,这是图表的样子。

我试图根据三个条件更改值。警告、危急和紧急情况。基本上每个条件有三种不同的颜色。例如,所有紧急情况均为红色,所有紧急情况均为橙色,所有警告均为黄色。在我的例子中,“Title”是x轴,“criticality”恰好是集群

我试着跟着线索走

我还看了这条线

我在尝试使用这两个线程中的代码时没有任何运气

第二个线程中的这段代码实际上对我来说是有意义的

Dim c As Chart
Dim s As Series
Dim iPoint As Long
Dim nPoint As Long

Set c = ActiveChart
Set s = c.SeriesCollection(1)

nPoint = s.Points.Count
For iPoint = 1 To nPoint
    If s.XValues(iPoint) = "avg" Then
        s.Points(iPoint).Interior.Color = RGB(255, 0, 0)
    End If
Next iPoint
但不确定我应该改变哪些变量。欢迎任何帮助

谢谢。

s.XValues(iPoint)将包含标题和临界值。 尝试更改:

If s.XValues(iPoint) = "avg" 
致:

这样,您将检查标签的最后9个字母是否完全是“紧急”

您应该能够修改代码以添加另一个临界或警告条件

希望这有帮助,


宏大师

你为什么不试试我的一些教程,它们可能会有所帮助:和。由于您有一组两列(或两行)的标签,VBA方法有点复杂。谢谢@TheMacroGuru。这有助于:)
If right(s.XValues(iPoint), 9) = "Emergency"