将E列姓名中不包含A列姓名的全部列出:
方法一:
Sub shu1() '查找两列不相通内容 Dim arr1 As Variant, arr2 As Variant Dim x As Long Dim y As Long With WorksheetFunction x = .CountA(Range("a10:a1000")) + 9 y = .CountA(Range("e10:e1000")) + 9 arr1 = .Transpose(Range("a10:a" & x).Value) arr2 = .Transpose(Range("e10:e" & y).Value) End With For i = 1 To UBound(arr1) arr2 = Filter(arr2, arr1(i), False, 1) Next i
MsgBox "E列独有项为:" & Chr(10) & Join(arr2, ",") End Sub 方法二:
Sub shu2() Dim d As Object, arr, i%, tem As String Set d = CreateObject("scripting.dictionary") With Sheets("sheet1") arr = .Range("a10", .[a65536].End(3)) For i = 1 To UBound(arr) d(arr(i, 1)) = "" Next arr = .Range("e10", .[e65536].End(3)) For i = 1 To UBound(arr) If d.exists(arr(i, 1)) = False Then tem = tem & Chr(10) & arr(i, 1) End If Next End With MsgBox "两列不相通项为:" & tem End Sub |
|