Excel VBAloop如果数组相等,则高亮显示行
我想做的是,如果ws2中的ID与ws1中的数组相同,则高亮显示这些行。我应该修改什么Excel VBAloop如果数组相等,则高亮显示行,excel,vba,Excel,Vba,我想做的是,如果ws2中的ID与ws1中的数组相同,则高亮显示这些行。我应该修改什么 Sub Macro2() Dim i, i2 As Long Dim LastRow, LastRow2 As Long Dim ws1 As Worksheet Set ws1 = Worksheets("ws1") Dim ws2 As Worksheet Set ws2 = Worksheets("ws2") With ws1
Sub Macro2()
Dim i, i2 As Long
Dim LastRow, LastRow2 As Long
Dim ws1 As Worksheet
Set ws1 = Worksheets("ws1")
Dim ws2 As Worksheet
Set ws2 = Worksheets("ws2")
With ws1
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
With ws2
LastRow2 = .Cells(.Rows.Count, "D").End(xlUp).Row
End With
For i = 1 To LastRow
For i2 = 1 To LastRow2
If ws1.Range("A" & i).Value = ws2.Range("D" & i2).Value Then
ws2.Range("D" & i).Interior.ColorIndex = 37
End If
Next
Next
End Sub
为什么需要修改?-代码输出有什么问题?假设您只想突出显示ws2行,只需将
ws2.Range(“D”&i).Interior.ColorIndex=37
行中的i
更改为i2
。我还将在该行的正下方添加一个出口(位于最后一端If的上方),这将有助于防止不必要的循环。只有在没有重复项的情况下才添加它。为什么不在条件格式规则中使用VLookup呢?不需要VBA代码。谢谢@Simon,这真的解决了我的问题。@FunThomas因为我总是需要做这件事,所以我想让它自动化。