No momento também não sei como resolver, e sem muito tempo para verificar, apesar de não gostar, tente como paliativo utilizar "On Error"
+/- assim:
Sub relacionar_itens_que_falta()
Dim a As Integer, b As Integer, c As Integer
Dim vLista1 As Dictionary, vLista2 As Dictionary
Dim vLista3 As New Collection
Dim vListaItem As Variant
Dim vCelula1 As Range, vCelula2 As Range
Set vLista1 = New Dictionary
Set vLista2 = New Dictionary
[resultado].Value = ""
a = Cells(Rows.Count, "A").End(xlUp).Row
For Each vCelula1 In Range("A1:A" & a)
On Error Resume Next
With vLista1
.CompareMode = BinaryCompare
.Add CStr(vCelula1.Value), CStr(vCelula1.Value)
End With
Next
b = Cells(Rows.Count, "B").End(xlUp).Row
For Each vCelula2 In Range("B1:B" & b)
On Error Resume Next
With vLista2
.CompareMode = BinaryCompare
.Add CStr(vCelula2.Value), CStr(vCelula2.Value)
End With
Next
For Each vListaItem In vLista1
If Not vLista2.Exists(vListaItem) Then
On Error Resume Next
vLista3.Add CStr(vListaItem), CStr(vListaItem)
On Error GoTo 0
End If
Next
c = 1
For Each vListaItem In vLista3
Cells(c, "C") = vListaItem
c = c + 1
Next
Range("G2").FormulaR1C1 = _
"=""Macro executada [ ""&COUNTA(resultado)&"" ] números relacionados na coluna(C), sem os [ ""&COUNTA(R[-1]C[-5]:R[28]C[-5])&"" ] da coluna(B)"""
Range("K19").Select
End Sub
Postado : 17/10/2019 11:15 am