2

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

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

在此处输入图像描述

4

3 回答 3

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
于 2012-10-18T13:08:00.057 回答
0

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

插入K2:

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

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

条件格式

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

于 2012-10-18T14:40:16.953 回答
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

每当单元格值与其下方的值不同时,它会交替行颜色。现在它被设置为灰色,但如果你愿意,你可以把它改成更亮的颜色。你可以输入你自己的逻辑来得到你想要的任何颜色。祝你好运。

于 2012-10-18T15:33:54.843 回答