Excel数据透视表条件格式

时间:2012-10-18 12:31:42

标签: excel vba module pivot-table

我在Excel工作表中有一个数据透视表,其中包含对我的数据库进行查询的结果。我想根据每个其他数据集自动格式化信息。

该信息包含按员工ID号排序的每位员工4周(1个月)的记录。我想编写一个模块,以便突出显示具有不同颜色的所有其他记录(员工数据集)。这甚至可能吗?谢谢你的帮助!

enter image description here

3 个答案:

答案 0 :(得分:1)

如果你坚持使用VBA来解决你的问题就是一个例子。您需要指定起始范围。请注意,标记整行将使用更多内存(增加文件大小),所以我宁愿使用示例:range(“A2:E2).select ....

Sub FormatEverySecondRow()
         range("A2").EntireRow.Select
         Do While ActiveCell.value <> ""
             Selection.Interior.ColorIndex = 15
             ActiveCell.offset(2, 0).EntireRow.Select
         Loop
End Sub

答案 1 :(得分:0)

使用辅助列(如果我计算示例中的列,则使用K)

插入K2:

=IF(ISBlank(C2),K1,MOD(K1+1,2))

然后使用条件格式来突出显示行:

Conditional Formatting

注意公式在2之前有$符号(即$ K2,而不是$ K $ 2)

答案 2 :(得分:0)

这可能对您有用:

Sub HighlightDifferentRows()

Dim wksht As Worksheet
Dim wkb As Workbook
Dim row As Range
Dim FloatColor As Long

FloatColor = RGB(100, 100, 100)

Set wbk = ThisWorkbook

Application.ScreenUpdating = False

For Each row In Sheets(1).UsedRange.Rows
    row.Interior.Color = FloatColor
    If row.Cells(1, 4).Value <> row.Cells(2, 4).Value Then
        FloatColor = -FloatColor
    End If
Next row

Application.ScreenUpdating = True

End Sub

AlternateColorsAfterMacro

只要单元格值与下面的单元格值不同,它就会交替显示行颜色。现在它被设置为浅灰色,但如果你愿意,你可以把它改成更亮的东西。你可以用你自己的逻辑来获得你想要的任何颜色。祝你好运。