我有以下数据透视表:
Risk Impact
High Low Medium Grand Total
AA 2 7 3 12
AB 10 10
AC 2 1 2 5
AD 2 1 3
AE 1 1
BA 3 1 4
BB
BC 1 1
我想根据每个细胞的值应用特定的细胞颜色,如下所述:
我尝试的方法是定义每个"枢轴项目"并应用if语句来评估每个条件。
请在下面找到我的代码:
Sub conditionalformatting4()
Dim c As Range
With ActiveSheet.PivotTables("Pivottable2")
Set i = ActiveSheet.PivotTables("Pivottable2").PivotFields("Risk Impact").PivotItems("High").DataRange.Cells
Set u = ActiveSheet.PivotTables("Pivottable2").PivotFields("Risk Impact").PivotItems("Low").DataRange.Cells
Set v = ActiveSheet.PivotTables("Pivottable2").PivotFields("Risk Impact").PivotItems("Medium").DataRange.Cells
Set c = ActiveSheet.PivotTables("Pivottable2").PivotFields("Risk Impact").PivotItems("Grand Total").DataRange.Cells
' apply formatting to last column cell if condition is met
For Each c In .PivotFields("Risk Impact").PivotItems("Grand Total").DataRange.Cells
If i.Value >= 1 Or v.Value > 1 Or u.Value > 2 Or (v.Value >= 1 And u.Value >= 1) Then
With .TableRange1.Rows(c.Row - .TableRange1.Row + 1)
.Font.Bold = True
.Interior.ColorIndex = 3
End With
ElseIf (u.Value > 1 And u.Value < 2) Or v.Value = 1 Then
With .TableRange1.Rows(c.Row - .TableRange1.Row + 1)
.Font.Bold = True
.Interior.ColorIndex = 45
End With
Else
With .TableRange1.Rows(c.Row - .TableRange1.Row + 1)
.Font.Bold = True
.Interior.ColorIndex = 4
End With
End If
Next
End With
End Sub
所以我想知道你认为这是正确的做法吗?
然后我得到的错误是&#34;总计列&#34;不被承认。 有任何想法吗?