我在Excel工作表中有一个数据透视表,其中包含对我的数据库进行查询的结果。我想根据每个其他数据集自动格式化信息。
该信息包含按员工ID号排序的每位员工4周(1个月)的记录。我想编写一个模块,以便突出显示具有不同颜色的所有其他记录(员工数据集)。这甚至可能吗?谢谢你的帮助!
答案 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))
然后使用条件格式来突出显示行:
注意公式不在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
只要单元格值与下面的单元格值不同,它就会交替显示行颜色。现在它被设置为浅灰色,但如果你愿意,你可以把它改成更亮的东西。你可以用你自己的逻辑来获得你想要的任何颜色。祝你好运。