我有excel工作表,有两张。第一个(工作表1)是大表(大约2000行),在第二个(工作表2)中我只有大约20行。
我需要检查,如果工作表1中每行的第一列中的字符串已经在工作表2中,如果是,则将其设为绿色。
感谢您提供解决方案,EXCEL或VBA都将受到赞赏:)
答案 0 :(得分:0)
在工作表1中,您需要创建一个新列(比如列AA),该列使用公式VLOOKUP在另一个工作表中查找相同的数据(如果存在)。如果未找到,则VLOOKUP将返回错误#N / A.所以你的公式会看起来像:
IF(ISERROR(VLOOKUP(A2,' Sheet2'!$ SA $ 1:$ X $ 9999,3,false)),"未找到"," FOUND&# 34)
然后,您将向sheet1列A添加条件格式,该列引用新列(AA)中的值并相应地设置颜色。
如果您不知道如何使用VLOOKUP或使条件格式化工作,互联网上有大量资源可以帮助您学习这些内容。例如youtube频道ExcelisFun,WiseOwl.co.uk。
我希望这会有所帮助。
PS你不需要使用VBA来做到这一点!事实上,使用foumula可能是优选的,就好像单个值改变它可以导致颜色改变。
哈维
答案 1 :(得分:0)
如果您想使用VBA,请尝试以下操作:
Public Sub findDuplicate()
Dim sh1row, sh2Row As Long
For sh1row = 1 To 20 'loop all row from Sheet2 (if more than 20, modify it)
For sh2Row = 1 To 2000 'loop all row from Sheet1 (if more than 2000, modify it)
'If A cell are equal
If Sheets("Sheet1").Range("A" & sh2Row) = Sheets("Sheet2").Range("A" & sh1row) Then
'Change background color to green.
Sheets("Sheet1").Range("A" & sh2Row).Interior.Color = RGB(0, 255, 0)
End If
Next sh2Row
Next sh1row
End Sub