Sub tt()
Dim ar, r%, d, k%
Set d = CreateObject("scripting.dictionary")
ar = [p2].CurrentRegion
For r = 1 To UBound(ar)
d(ar(r, 1)) = ""
Next r
k = 1
For r = 1 To 50
If Not d.exists(r) Then
k = k + 1
Cells(k, "ar") = r
End If
Next r
End Sub
Sub test()
Dim i As Integer, j, n
Dim arr
Dim brr(1 To 50, 1 To 1)
Dim d As Object
Set d = CreateObject("scripting.dictionary")
arr = Range("p2", Range("p65536").End(xlUp))
For i = 1 To UBound(arr)
If Not d.exists(arr(i, 1)) Then
d(arr(i, 1)) = i
End If
Next
For j = 1 To arr(UBound(arr, 1), 1)
If Not d.exists(j) Then
n = n + 1
brr(n, 1) = j
End If
Next
[as2].Resize(n, 1) = brr
End Sub