спасибо за макрос ) ,
почему в первом макросе больше двух не бывает??
, вот по другому написал з if not b2 then: end if и работает .
Sub test()
Dim ws As Worksheet, a, g, f, aLR&, gLR&, i&, j&, flag As Boolean
Set ws = ThisWorkbook.Worksheets("Ëèñò1")
N = 1
aLR = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
gLR = ws.Cells(ws.Rows.Count, 7).End(xlUp).Row
a = ws.Range(ws.[a2], ws.Cells(aLR, 1)).Value
g = ws.Range(ws.[g2], ws.Cells(gLR, 7)).Value
ReDim f(1 To gLR - 1, 1 To 1)
For i = 1 To UBound(g, 1)
j = 1: flag = False
Do Until flag Or j > UBound(a, 1)
If g(i, 1) = a(j, 1) Then
flag = True
End If
j = j + 1
Loop
If Not flag Then f(i, 1) = g(i, 1): ws.Cells(N, 10) = f(i, 1): N = N + 1
Next
End Sub