[ 我有2个带有firstname和Lastname的列表,现在我想知道list2中是否存在list1中的某个人(参考文献)
这是我现在正在使用的代码,但问题是(图片3参考)
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
Set CompareRange = Range("E1:F6")
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub
我想要一个结果Like(Picture4 References)
我只能找到名字和姓氏相同的人
注意:在(图3和4)我的代码改变
Set CompareRange = Range("G2:H7")
答案 0 :(得分:3)
无需VBA
假设您的工作表看起来像这样
将此公式放在单元格C1
=IF(ISERROR(MATCH(A1&"|"&B1,$E$1:$E$6&"|"&$F$1:$F$6,0)),"",A1)
并按 CTRL + SHIFT + ENTER 并向下拖动公式。
将此公式放入单元格D1
并将公式拉下来
=IF(C1<>"",B1,"")
这是最终结果
<强>逻辑强>:
&
运算符A
和“ame2”在连接后将与“Name1”Col A
和“Name2”D
中,我们只是检查Col C
是否已填充。如果是,则只需从Col B
答案 1 :(得分:0)
你也可以试试这个
Sub Find_Matches()
Dim list1 As Range
Dim list2 As Range
Set list1 = Range("A1:B6")
Set list2 = Range("E1:F6")
For Each row1 In list1.Rows
For Each row2 In list2.Rows
If (row1.Cells(1) = row2.Cells(1) And row1.Cells(2) = row2.Cells(2)) Then
row1.Cells(1).Offset(0, 2) = row1.Cells(1)
row1.Cells(2).Offset(0, 2) = row1.Cells(2)
Exit For
End If
Next row2
Next row1
End Sub