我需要比较Column B
的Sheet 2
和Column C
的Sheet 3
,并突出显示具有匹配数据的单元格Column B (Sheet 2)
。使用Excel VBA比较列和突出显示匹配数据
曾用下面的公式条件格式
与格式类型是一个
特定颜色黄说Interior.colorindex = 6
如何实施使用代码在VBA同一工作=NOT(ISNA(VLOOKUP(Sheet3!C,Sheet2!B,1,FALSE)))
?
我需要比较Column B
的Sheet 2
和Column C
的Sheet 3
,并突出显示具有匹配数据的单元格Column B (Sheet 2)
。使用Excel VBA比较列和突出显示匹配数据
曾用下面的公式条件格式
与格式类型是一个
特定颜色黄说Interior.colorindex = 6
如何实施使用代码在VBA同一工作=NOT(ISNA(VLOOKUP(Sheet3!C,Sheet2!B,1,FALSE)))
?
,你可以做这样的
Sub CompareAndHighlight()
Dim rng1 As Range, rng2 As Range, i As Long, j As Long
For i = 1 To Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
Set rng1 = Sheets("Sheet2").Range("B" & i)
For j = 1 To Sheets("Sheet3").Range("C" & Rows.Count).End(xlUp).Row
Set rng2 = Sheets("Sheet3").Range("C" & j)
If StrComp(Trim(rng1.Text), Trim(rng2.Text), vbTextCompare) = 0 Then
rng1.Interior.Color = RGB(255, 255, 0)
End If
Set rng2 = Nothing
Next j
Set rng1 = Nothing
Next i
End Sub
代码检查在Sheet2中B列的所有细胞免受表Sheet 3列C各小区以及如果它们匹配它强调在Sheet2的细胞在B列中黄色
我会这样做:
Dim c As Range
For Each c In Range("sheet2!b:b")
If c.Value <> "" And Sheets("Sheet3").Cells(c.Row, 3).Value = c.Value Then
c.Interior.Color = vbYellow
End If
Next
该代码运作良好。我没有更清楚地提出我的问题。上面的代码比较了工作表2中的b2和工作表3中的c2,等等。我希望工作表3中的每个值都与另一列中的所有值进行检查。为此需要另一个循环。你能编辑代码来添加上面提到的规范和空白单元格的错误处理吗? – Alcapone
我已经为您编辑了代码,以便它遍历Sheet3上列C中的所有单元格。你对空白单元格的错误处理意味着什么? – 2013-08-27 13:31:06