Кажется, получилось
[vba]Код
Function Unique(ByVal rRange1, rRange2) As Collection
Set Unique = New Collection
On Error Resume Next
For Each rCell In rRange1
If Len(Trim(rCell)) <> 0 Then
Unique.Add CStr(rCell), CStr(rCell)
End If
Next
For Each rCell In rRange2
If Len(Trim(rCell)) <> 0 Then
Unique.Add CStr(rCell), CStr(rCell)
End If
Next
End Function
Sub rrr()
Set sh1 = Workbooks(1).Sheets(1).[a1:a10]
Set sh2 = Workbooks(2).Sheets(1).[a1:a10]
For Each v In Unique(sh1, sh2)
Debug.Print v
Next
End Sub
[/vba]