复杂的比较

时间:2017-01-12 21:45:39

标签: vba excel-vba excel

我有点难过。我试图查看ColA中的唯一数字,并将文本放在同一行,并将其与ColB中的相同(有时重复)数字进行比较,并将文本放在同一行上。如果文本不同,我想强调ColC中单元格的区别。

很难解释,所以这是一张图片。

enter image description here

我知道ColA中的1 =必需。所以,我想查看ColB中的所有数字1,并确保ColC中的相同行=必需。在ColA,2,3,4和& ColC中都需要5个。在ColB,3& 4应该在ColC中有一个必需的,但它说的是不同的东西,所以我想把这些单元格着色为橙色。是否有意义?我想过使用Vlookup,但我不确定它是如何工作的?

此时此刻,我没有代码,但如果我想出一些有用的东西,或者如果我可以使用它,我会发回信息,我绝对会发布解决方案

我认为代码会是这样的,但这并不符合我上面描述的逻辑。

Sub StillTrying()

Dim mCell As Range
Dim R As Long
Dim Rng As Range
Dim Agent As Range
Dim AgentList As Range
Application.ScreenUpdating = False

Set AgentList = ActiveSheet.Range("A2:A20")
Set Rng = ActiveSheet.Range("B2:B20")

For Each Agent In AgentList
    For Each mCell In Rng
    Debug.Print mCell.Address
    Debug.Print Agent.Address

        If mCell.Value = Agent.Value And mCell.Offset(0, 1).Value = Agent.Offset(0, 2).Value Then
        ' do nothing
        Else
            mCell.Offset(0, 1).Resize(, 1).Select
            With Selection.Interior
                .Color = 39423
            End With
            R = R + 1
        End If
    Next mCell
Next Agent

End Sub

基本上,C&和C8应该是橙色。

谢谢大家。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您可以使用条件格式来实现此目的。

在单元格C2中,应用以下条件格式设置规则:

enter image description here

然后将该单元格的格式复制到C列中的每个其他单元格。

如果您的防火墙阻止了i.stack.imgur.com上的图片,则图片会显示Edit Formatting Rule对话框,其中的选择设置为Use a formula to determine which cells to format,公式为=NOT(C2=VLOOKUP(B2,A:C,3,FALSE)),并且格式显示橙色填充。