在第一个工作表的第4列中进行Vlookup,该函数需要4个参数:=vlookup(C2, <4th column of the other worksheet (select entire range from row 2 to end)>, 1, 0)并使用公式自动填充行。 如果你还不熟悉vlookup,我强烈建议你看一个简短的教程来了解它的用法,它是比较数据的一个重要工具。 将显示任何匹配的值,而对于两个表之间不匹配的值,将打印**#N/D**错误。
Option Explicit
Sub SoftwareIsFun()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim dicObj As Object
Dim lastRow1 As Long
Dim lastRow2 As Long
Dim i As Long
Set dicObj = CreateObject("Scripting.Dictionary")
Set wks1 = ThisWorkbook.Worksheets(1)
Set wks2 = ThisWorkbook.Worksheets(2)
With wks1
lastRow1 = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow1
If Not dicObj.Exists(.Range("A" & i).Value) Then
dicObj.Add .Range("A" & i).Value, .Range("B" & i).Value
Else
.Range("C" & i).Value = "UserID already exists"
End If
Next i
End With
With wks2
lastRow2 = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow2
If dicObj.Exists(.Range("A" & i).Value) Then
If .Range("B" & i).Value = dicObj.Item(.Range("A" & i).Value) Then
.Rows(i).Interior.Color = vbGreen
Else
.Rows(i).Interior.Color = vbRed
End If
Else
.Rows(i).Interior.Color = vbRed
End If
Next i
End With
End Sub
2条答案
按热度按时间rdlzhqv91#
你所描述的是我每天为工作所做的事情:
步骤1
在两个工作表中创建名为“Key”的第3列,在该列中,您将按如下方式连接A列和B列的值:
=A2&B2
。现在,用前面编写的公式自动填充C列中的行。步骤2
删除在您创建的列中找到的重复项,这将有效地保留对并防止删除重复值时的信息丢失。(数据选项卡-〉删除重复项-〉选择列C作为删除它们的条件)。
步骤3
在第一个工作表的第4列中进行Vlookup,该函数需要4个参数:
=vlookup(C2, <4th column of the other worksheet (select entire range from row 2 to end)>, 1, 0)
并使用公式自动填充行。如果你还不熟悉vlookup,我强烈建议你看一个简短的教程来了解它的用法,它是比较数据的一个重要工具。
将显示任何匹配的值,而对于两个表之间不匹配的值,将打印**#N/D**错误。
dl5txlt92#
一个快速而又有点脏的VBA方法。我假设你的工作簿由两个工作表组成,每个工作表包含两列标题。