Hi there SmartBuyer!
Take a look at this code and tell me if it fits you:
Option Explicit
Sub filter_search()
Dim cel As Range, wsLog As Worksheet, wsStatus As Worksheet
Dim proc_file As String, wsProc As Worksheet
Dim xlProc As Workbook, found As Range, nextrow As Long
Set wsLog = Workbooks("Reqs Data Entry.xlsm").Sheets("Log")
Set wsStatus = Workbooks("Reqs Data Entry.xlsm").Sheets("Status")
wsStatus.UsedRange.Offset(1).ClearContents '' you might want to un/comment this line if you want a fresh/clean start
wsLog.UsedRange.AutoFilter Field:=5, Criteria1:="<>Disregard Request"
proc_file = "C:\Users\Bogdan\Downloads\Reqs Processing.xlsx" '''<<<<<< your Reqs Processing filepath here!
Application.ScreenUpdating = False
Set xlProc = Workbooks.Open(proc_file)
Set wsProc = xlProc.Sheets("Processing")
For Each cel In Intersect(wsLog.UsedRange.Offset(1).Resize(wsLog.UsedRange.Rows.Count - 1), wsLog.Columns(1)).SpecialCells(xlCellTypeVisible)
nextrow = wsStatus.Cells(wsStatus.Rows.Count, 1).End(xlUp).Row + 1
Set found = wsProc.Columns(1).Find(cel, lookat:=xlWhole)
If Not found Is Nothing Then wsProc.Range("A" & found.Row & ":H" & found.Row).Copy wsStatus.Range("A" & nextrow)
Next
xlProc.Close 0
wsStatus.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8), Header:=xlYes
wsLog.UsedRange.AutoFilter
Application.ScreenUpdating = True
wsStatus.Activate
End Sub
I will also attach the file:
Bookmarks