我需要将Column B
中的Sheet 2
与Column C
中的Sheet 3
进行比较,并在Column B (Sheet 2)
中突出显示匹配数据的单元格。
在条件格式
中使用了以下公式使用格式类型为
的=NOT(ISNA(VLOOKUP(Sheet3!C,Sheet2!B,1,FALSE)))
特殊颜色说黄色Interior.colorindex = 6
如何在VBA中使用代码实现相同的功能?
答案 0 :(得分:1)
你可以这样做
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中与Sheet3列C中的每个单元格相关的所有单元格,如果它们匹配,则高亮显示B列中Sheet2上的单元格
答案 1 :(得分:1)
我会这样做:
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