我需要比較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