我在Excel工作表中有一个数据透视表,其中包含对我的数据库进行查询的结果。我想根据每个其他数据集自动格式化信息。Excel数据透视表条件格式化
该信息包含每位员工按员工ID号排序的4周(1个月)记录。我想编写一个模块,以便使用不同的颜色突出显示其他所有记录(员工数据集)。这甚至有可能做到吗?谢谢您的帮助!
我在Excel工作表中有一个数据透视表,其中包含对我的数据库进行查询的结果。我想根据每个其他数据集自动格式化信息。Excel数据透视表条件格式化
该信息包含每位员工按员工ID号排序的4周(1个月)记录。我想编写一个模块,以便使用不同的颜色突出显示其他所有记录(员工数据集)。这甚至有可能做到吗?谢谢您的帮助!
如果你坚持与解决利用VBA在这里你的问题就是一个例子。您需要指定起始范围。请不是标志着整个行会使用更多的内存(增加文件大小),所以我宁愿使用例如:范围(“A2:E2)。选择....
Sub FormatEverySecondRow()
range("A2").EntireRow.Select
Do While ActiveCell.value <> ""
Selection.Interior.ColorIndex = 15
ActiveCell.offset(2, 0).EntireRow.Select
Loop
End Sub
您也可以尝试以下方法:'子FormatEverySecondRow() 昏暗我只要 昏暗bShade由于布尔 bShade =真 I = 3 做,当范围( “A” &I).value的<> “” 如果范围( “C” &I)。价值<> “” 然后 如果bShade = TRUE,则 bShade =假 否则 bShade =真 结束如果 结束如果 如果bShade = TRUE,则 范围( “B” & (“B”&i&“:H”&i).Interior。ColorIndex = 14 End If i = i + 1 Loop End Sub ' – salih0vicX
如果我使用一个辅助塔(K算在你的例子列)
插入到K2:
=IF(ISBlank(C2),K1,MOD(K1+1,2))
然后使用条件格式来突出显示该行:
注意公式确实不是在2之前有一个$符号(即, $ K2,而不是$ķ$ 2)
这可能对你有用:
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
它交替行的颜色,每当一个单元格的值是不一样的它下面的一个。现在它被设置为浅灰色,但是如果你想要的话,你可以将它改成更亮的东西。你可以用自己的逻辑来获得你想要的任何颜色。祝你好运。
你好,我不相信你需要VBA这个。您可以直接进入首页 - >样式 - >格式化为表格 - >选择一种突出显示其他行的格式。当然,这也取决于您的数据透视表如何分组数据。如果你能提供一个截图,它会帮助你很多。 –
好的,我上传了我想要的样子(手动完成,有100,000条记录,其效率不高) – designspeaks
感谢您花时间制作图片!我建议做一个风格的唯一原因是因为您可能想在某一天更改您的列安排,并且您可能能够避免使用样式更改任何公式/ vba代码。但是,风格与一起工作有点痛苦。我会看看我能不能提出一些有用的东西。否则,我会推荐一个条件格式公式,如下面的答案。 –