Macro solution for this post:
https://excelfox.com/forum/showthrea...ther-workbooks

Code:
'  https://excelfox.com/forum/showthread.php/2569-Copy-row-from-one-workbook-to-another-workbook-based-on-conditions-in-two-other-workbooks
'   Copy row from one workbook to another workbook  based on conditions in two other workbooks
Sub CopyRowFromWb4ToWb3basedOnConditionsInWb1AndWb2()
Rem 1 worksheets range info
Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook, Wb4 As Workbook
 Set Wb1 = Workbooks("1.xls")
 Set Wb2 = Workbooks("ap.xls")
 Set Wb3 = Workbooks("BasketOrder.xlsx")
 Set Wb4 = Workbooks("OrderFormat.xlsx")
Dim Ws1 As Worksheet, Ws2 As Worksheet, Ws3 As Worksheet, Ws4 As Worksheet
 Set Ws1 = Wb1.Worksheets.Item(1)
 Set Ws2 = Wb2.Worksheets.Item(1)
 Set Ws3 = Wb3.Worksheets.Item(1)
 Set Ws4 = Wb4.Worksheets.Item(1)
Dim Lr1 As Long, Lr2 As Long, Lr3 As Long ', Lr4 As Long
 Let Lr1 = Ws1.Range("A" & Ws1.Rows.Count & "").End(xlUp).Row
 Let Lr2 = Ws2.Range("D" & Ws2.Rows.Count & "").End(xlUp).Row
Dim Rng1 As Range, Rng2 As Range ', Rng3 As Range, Rng4 As Range
 Set Rng1 = Ws1.Range("A1:I" & Lr1 & "")
 Set Rng2 = Ws2.Range("A1:Z" & Lr2 & "")
'1b) data ranges for conditions
Dim arr1() As Variant: Let arr1() = Rng1.Value2
Dim arr1I() As Variant: Let arr1I() = Rng1.Columns(9).Value2
Dim arr2() As Variant: Let arr2() = Rng2.Value2
Dim arr2Z() As Variant: Let arr2Z() = Rng2.Columns("Z").Value2
Rem 2 Do it
Dim Cnt
    For Cnt = 2 To Lr1 Step 1
        If arr1I(Cnt, 1) <> "" Then
        Dim MtchRes As Variant
         Let MtchRes = Application.Match(arr1I(Cnt, 1), arr2Z(), 0)
            If IsError(MtchRes) Then
            ' column I 1.xls value is not in column Z of ap.xls
            Else '  column I of 1.xls matches with column Z of ap.xls
                ' if column K of ap.xls is equals to column L of ap.xls
                If arr2(MtchRes, 11) = arr2(MtchRes, 12) Then
                ' If column H of 1.xls is greater than column D of 1.xls then
                    If arr1(Cnt, 8) > arr1(Cnt, 4) Then
                    'copy the first row of OrderFormat.xlsx & paste it to BasketOrder.xlsx
                     Let Ws3.Range("A1:U1").Value2 = Ws4.Range("A1:U1").Value2
                    ElseIf arr1(Cnt, 8) < arr1(Cnt, 4) Then ' If column H of 1.xls is less than column D of 1.xls then
                    'copy the third row of OrderFormat.xlsx & pate it to BasketOrder.xlsx
                    Else
                     Let Ws3.Range("A1:U1").Value2 = Ws4.Range("A3:U3").Value2
                    End If
                Else
                ' column K of ap.xls is not equal to column L of ap.xls
                End If
            End If
        Else
        ' empty column I in 1.xls
        End If
    Next Cnt
End Sub