如果And语句比较同一行的值

时间:2018-02-07 19:40:14

标签: excel vba excel-vba

在比较范围1和范围2时,我编写了以下代码来隔离唯一值。我希望它还评估范围3中同一行中的单元格,以确保它不等于零。关于如何实现这一目标的任何提示?

Sub CompareRanges()

Dim WorkRng1 As Range, WorkRng2 As Range, WorkRng3 As Range, Rng1 As Range, Rng2 As Range, Rng3 As Range
xTitleId = "Compare Ranges"
Set WorkRng1 = Application.InputBox("Please Select Task ID Range in Invoice Review File", xTitleId, Type:=8)
Set WorkRng2 = Application.InputBox("Please Select Task ID Range in Budget Grid", xTitleId, Type:=8)
Set WorkRng3 = Application.InputBox("Please Select", xTitleId, Type:=8)
For Each Rng1 In WorkRng1
    For Each Rng2 In WorkRng2
        If Rng1.Value = Rng2.Value Then
            Rng2.Interior.Color = VBA.RGB(254, 255, 255)
            Exit For
        End If
    Next
Next
For Each Rng2 In WorkRng2
    For Each Rng3 In WorkRng3
        If Rng2.Value > 0 And Rng3.Value <> 0 And Rng2.Interior.Color <> VBA.RGB(254, 255, 255) Then
            Rng2.Interior.Color = VBA.RGB(255, 0, 0)
            Exit For
        End If
    Next
Next
End Sub

1 个答案:

答案 0 :(得分:0)

波特兰亚军回答:

  

尝试:Cells(Rng2.Row, Rng3.Column) <> 0代替And   Rng3.Value <> 0