|
お世話になっています。
このVBAで「D」にあって「B」に無い文字列を「F」に抽出しています。
ただ「D」に同じ文字列が複数あった場合、その文字列が「B」に一つでも有れば、
「F」には文字列が抽出されません。
「D」に同じ文字列が4つあって、「B」にその文字列が2つあった場合、
「F」にその文字列を2つ表示させるには、どのように変更すれば良いのでしょうか?
お手数ではありますが、ご教授頂ければ幸いです。
Sub 比較()
Dim tbl, i As Long
With CreateObject("Scripting.Dictionary")
tbl = Range("d2", Range("d" & Rows.Count).End(xlUp)).Value
For i = 1 To UBound(tbl, 1)
If Not .Exists(tbl(i, 1)) Then
.Add tbl(i, 1), Empty
End If
Next
tbl = Range("b2", Range("b" & Rows.Count).End(xlUp)).Value
For i = 1 To UBound(tbl, 1)
If .Exists(tbl(i, 1)) Then
.Remove tbl(i, 1)
End If
Next
Range("f:f").ClearContents
Range("f2").Resize(.Count).Value = Application.Transpose(.Keys)
End With
End Sub
|
|